假設我有一個event_type模型,其中包含幾個事件類型,如「live」,「used」,「offline」。rails:如何爲我的所有狀態擁有FactoryGirl
這些類型用於我的其他模型稱爲事件。現在,在測試時,我需要在每次運行時都填充所有類型。更具體地講,這是我的事件廠:
factory :event do |e|
e.event_type {|v| v.association(:event_type)}
e.latitude 40.767929000000
e.longitude -73.985742000000
end
我想這對事件工廠:
after(:create) {|event|
FactoryGirl.create(:event_type, {:name => "live"})
FactoryGirl.create(:event_type, {:name => "used"})
FactoryGirl.create(:event_type, {:name => "offline"})
}
這種方法的問題是,如果我創建一個以上的事件對象的所有事件我爲每個事件再次創建類型。
什麼是更好的方法?
謝謝,
用戶回答它的幫助,謝謝!但是有沒有辦法在全球範圍內創建這些事件,而不是在每個規範之前? – bymannan
一般來說(至少IMO)你想在每次運行之前用一個空的數據庫開始,所以我會建議每次運行創建它們。但是,您可以將它們放在「描述事件」中,然後在其中嵌套其他描述塊。這些事件將出現在每個嵌套的描述塊中。 :) – engineerDave