FactoryGirl - create_list 增加每个对象的参数

FactoryGirl - create_list increments parameter for each object

我正在尝试以某种方式使用 RSpec 的 create_list,对于特定列,每个对象接收前一个对象的值 + 1。

如果Rails接受++符号,它会是这样的:

create_list :entity, 10, priority: priority++

我尝试使用序列,但问题是序列永远不会重置。我需要优先级始终从 1 开始。

我怎样才能做到这一点?

提前致谢。

我认为 create_list 不可能做到这一点。由于方法调用在 Ruby 中的工作方式,您传递给 create_list 的参数会立即求值,并且不会为每个正在创建的新 Entity 重新求值。

换成这个怎么样?

(1..10).map do |priority|
  create :entity, priority: priority
end