我想使用 factory_girl 创建 2 条记录。 一种是水果,第二种是蔬菜。我怎样才能做到这一点? 我知道我可以做一个这样的:
FactoryGirl.define do
factory :category do
title ''
end
end
我还应该运行 create 或其他东西来保存数据吗? 我试过两种方法。都报错了。
首先
FactoryGirl.define do
factory :category do
title 'fruits'
title 'vegetables'
end
end
第二
FactoryGirl.define do
factory :category do
title 'fruits'
end
factory :category do
title 'vegetables'
end
end
最佳答案
factory_girl 允许您覆盖工厂定义中的数据(或缺少数据)。你可以这样定义你的工厂
FactoryGirl.define do
factory :category
end
并在规范中像这样使用它:
create :category, title: 'fruits'
create :category, title: 'vegetables'
或者,您可以定义两个不同的工厂:
FactoryGirl.define do
factory :fruits_category do
title 'fruits'
end
factory :vegetables_category do
title 'vegetables'
end
end
像这样使用它们
create :fruits_category
create :vegetables_category
只将数据放在用户期望从工厂名称中获得的数据,以便测试易于理解。
关于ruby-on-rails - 如何使用 factory_girl 创建同一类但具有不同数据的两个对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24145476/