2013-08-26 108 views
40

在我的RSpec的測試之一,我從同一個工廠的定義FactoryGirl:創建同一個對象多次

FactoryGirl.create(:model_1) 
FactoryGirl.create(:model_1) 
FactoryGirl.create(:model_1) 

創建多個對象是否有factory_girl提供了這樣做的方法在一行

我知道我能做到

3.times {FactoryGirl.create(:model_1)} 

但我正在尋找factory_girl提供的用於創建同一模型的多個對象的東西。

回答

78

您可以創建這樣一個列表(從而一次創建X對象):

FactoryGirl.create_list(:model_1, 3) 

文檔lives here

+0

如果我想創建多個對象,比如'FactoryGirl.create(:model_1,:type =>「something」)'',該怎麼辦? – usha

+2

看看doc,你可以通過params hash作爲第三個參數 – apneadiving

+0

謝謝。我應該更仔細地看待這一點。 – usha

2
FactoryGirl.create_list :factory_name, 2, attribute_name: 'value' 

簡單,移動最佳途徑。

如果不需要相同的屬性名稱,則可以忽略這些屬性名稱,然後改爲使用順序。