FactoryGirl:多次创建同一个对象

ush*_*sha 57 rspec ruby-on-rails factory-bot

在我的一个rspec测试中,我正在从同一个工厂定义创建多个对象

例如

FactoryBot.create(:model_1)
FactoryBot.create(:model_1)
FactoryBot.create(:model_1)
Run Code Online (Sandbox Code Playgroud)

是否有一种方法factory_bot可以在一行中完成此操作

我知道我能做到

3.times {FactoryBot.create(:model_1)}
Run Code Online (Sandbox Code Playgroud)

但我正在寻找factory_bot能够创建相同模型的多个对象的东西.

apn*_*ing 106

您可以创建这样的列表(因此一次创建x对象):

FactoryBot.create_list(:model_1, 3)
Run Code Online (Sandbox Code Playgroud)

文档生活在这里.

  • 在doc中查看,你可以将params hash作为第三个参数传递 (2认同)

cro*_*mac 8

不确定自答案发布以来这是否已更新,但现在您将执行以下操作

FactoryBot.create_list(:model_1, 3)
Run Code Online (Sandbox Code Playgroud)

请参阅 入门


Nis*_*rma 8

FactoryBot.create_list :factory_name, 2, attribute_name: 'value'
Run Code Online (Sandbox Code Playgroud)

简单而最好的移动方式.

如果不需要,可以忽略属性名称,而是使用序列.