我正在尝试为我的测试定义工厂,如下所示:
factory :content do
id
name
after(:create) do |content|
create(:title, :title_id => content.id)
end
end
# --------------
factory :title do
title_id
title_name
after(:create) do |title|
create(:some_other_model, :this_id => title.title_id)
end
end`
所以基本上,我想为我的测试设置 5 个包含一些数据的表,这需要按特定顺序完成,以便插入的下一条记录可以具有前一条记录的 id。这对于我上面定义的工厂来说是可能的,只需一个这样的调用:FactoryGirl.create(:content)
因为它在内部进行工厂中定义的调用
现在,假设我想做同样的事情,但为堆栈中更深的属性设置一个特定值(例如:some_other_model.name => 'Name')
,我该怎么做?