繁体   English   中英

FactoryBot:多次创建同一个对象

[英]FactoryBot: create the same object multiple times

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

例如

FactoryBot.create(:model_1)
FactoryBot.create(:model_1)
FactoryBot.create(:model_1)

factory_bot提供了一种方法来在一行中执行此操作

我知道我能做到

3.times {FactoryBot.create(:model_1)}

但我正在寻找factory_bot提供的用于创建同一模型的多个对象的东西。

注意:FactoryBot 最初被命名为 FactoryGirl

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

FactoryBot.create_list(:model_1, 3)

文档保存在这里

注意:FactoryBot 最初被命名为 FactoryGirl

FactoryBot.create_list :factory_name, 2, attribute_name: 'value'

简单和最好的移动方式。

如果不需要相同的属性名称,您可以忽略它们,而使用序列代替。

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

FactoryBot.create_list(:model_1, 3)

请参阅入门

如果您需要对带有验证的模型执行此操作,我可以在测试中执行以下操作。

10.times do |i|
  create(
    :object,
    property: i
  )
end

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM