在我的一个rspec测试中,我正在使用相同的工厂定义创建多个对象
例如
FactoryGirl.create(:model_1)
FactoryGirl.create(:model_1)
FactoryGirl.create(:model_1)
是否有factory_girl
提供的方法可以在一行中执行此操作
我知道我可以做到
3.times {FactoryGirl.create(:model_1)}
但我正在寻找factory_girl
为创建同一模型的多个对象提供的东西。
答案 0 :(得分:97)
答案 1 :(得分:6)
FactoryGirl.create_list :factory_name, 2, attribute_name: 'value'
简单而最好的移动方式。
如果不需要,可以忽略属性名称,而是使用序列。
答案 2 :(得分:3)
自发布答案后不确定是否已更新,但现在您将执行以下操作
FactoryGirl.create_list(:model_1, 3)
答案 3 :(得分:1)
如果您需要对带有验证的模型执行此操作,则可以在测试中执行以下操作。
10.times do |i|
create(
:object,
property: i
)
end