0
我試圖創建我FactoryGirl工廠,這樣當我打電話FactoryGirl.create(:model_a)
,任何依賴爲model_a創建並分配給model_a工廠。但是,由於某種原因,我的方法不起作用,我無法弄清楚爲什麼。FactoyGirl:前(:創建)的行爲不被認可
在我廠的文件,這是我有:
FactoryGirl.define do
factory :model_a do
before(:create) do
FactoryGirl.create(:model_b)
end
model_b {ModelB.first}
end
end
現在,當我運行FactoryGirl.create(:model_a)
我希望它可以先創建工廠model_b(因爲前(:創建)通話),然後再回到創建工廠model_a和分配工廠model_b到model_b relationshionship爲model_a
但是,我得到錯誤model_b must exist, model_b cannot be blank
。
爲什麼工廠model_b沒有被創建以便我可以使用它?
好了,現在有沒有在這樣做,並做'FactoryGirl.define任何差異都 廠:model_a做 #添加model_a屬性爲需要 model_b = ModelB.first || FactoryGirl.create(:model_b) end end' –
對不起,我似乎無法弄清楚如何在評論中做一個換行符,它只是發佈評論......但是這樣做有什麼區別嗎?只需在before(:create)函數之外以同樣的方式設置** model_b **屬性?像這樣:'model_b {ModelB.first || FactoryGirl.create(:model_b)}' –
不,應該有效。好一個!答案已更新。 – mmichael