1

我刚刚开始测试,我有很多模型都利用了 has_many 关系。在每种情况下,一个模型都要求另一个模型在保存时存在。我尝试过的每个测试系统(FactoryGirl、Fixtures 和现在的 Fabrication)都遇到了困难,我无法弄清楚如何正确设置测试以复制这种行为。

以这个 GIST 为例,但由于当时模型需要“虽然”模型,所以将其更改为after_buildbefore_save我是以错误的方式接近这个吗?如何测试这种关系/功能?

我创建了一个希望更易于使用/阅读的 GIST。

4

1 回答 1

3

我改变了这个

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

现在测试通过了。但是,我不确定这是否是设置它的正确方法,所以如果有人有任何额外的见解,将不胜感激。

于 2013-11-07T16:21:05.577 回答