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

时间:2017-07-13 18:03:51

标签: ruby-on-rails ruby-on-rails-4 rspec factory-bot rspec-rails

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

如果Rails接受++表示法,那就是这样的:

create_list :entity, 10, priority: priority++

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

我怎么能实现这个目标?

提前致谢。

1 个答案:

答案 0 :(得分:0)

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

相反怎么样?

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