我想使用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
答案 0 :(得分:1)
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
仅将数据放在用户期望的工厂名称的工厂中,以便测试易于理解。