我刚刚开始测试,我有很多模型都利用了 has_many 关系。在每种情况下,一个模型都要求另一个模型在保存时存在。我尝试过的每个测试系统(FactoryGirl、Fixtures 和现在的 Fabrication)都遇到了困难,我无法弄清楚如何正确设置测试以复制这种行为。
我以这个 GIST 为例,但由于当时模型需要“虽然”模型,所以将其更改为after_build
。before_save
我是以错误的方式接近这个吗?如何测试这种关系/功能?
我刚刚开始测试,我有很多模型都利用了 has_many 关系。在每种情况下,一个模型都要求另一个模型在保存时存在。我尝试过的每个测试系统(FactoryGirl、Fixtures 和现在的 Fabrication)都遇到了困难,我无法弄清楚如何正确设置测试以复制这种行为。
我以这个 GIST 为例,但由于当时模型需要“虽然”模型,所以将其更改为after_build
。before_save
我是以错误的方式接近这个吗?如何测试这种关系/功能?
我改变了这个
Fabricator(:brand) do
title "Coca Cola"
before_save do |brand|
styles Fabricate(:brand_style, :brand => brand, :style => Fabricate(:style))
end
end
对此
Fabricator(:brand) do
title "Coca Cola"
styles(count: 3) { Fabricate(:style) }
end
现在测试通过了。但是,我不确定这是否是设置它的正确方法,所以如果有人有任何额外的见解,将不胜感激。