2012-10-30 80 views
0

剛開始使用工廠的女孩。如果必須將工廠保存到db中,則必須運行 FactoryGirl.create()我們可以一次性將多個工廠加載到數據庫中嗎?

但是,有沒有辦法將工廠集合加載到數據庫中,而無需在每個工廠上調用create?

如果它的任何幫助我使用Ruby 1.9.3,Rails 3.2.8和Factory Girl 4.1。

回答

1

如果你需要一堆不同類型的工廠,你只需要單獨創建它們。

include FactoryGirl::Syntax::Methods 

然後您可以創建工廠這樣的:你可以通過添加以下內容到test_helper.rb使這個少一點冗長

create(:factory_name) 

和當然,如果你需要一堆的記錄同一類型的,你可以這樣創建它們:

5.times { create(:factory_name) } 

正如我在評論中提到,在一個創建所有的工廠一舉您的測試框架的初始化counte R-生產。 FactoryGirl背後的想法是隻提供每個測試用例或上下文所需的數據。這樣可以避免測試之間的依賴關係,這些測試往往會陷入由燈具驅動的方法。

+0

有沒有其他的方式來做同樣的事情。例如,我有20個獨特的工廠,我將如何去創建所有這些工廠? – Phoenix

+0

獨特的模型或數據?也許發佈你的代碼,這實在是一個重構問題。 – Thilo

+0

獨特的數據方面,現在我正在尋找一個沒有關聯的模型的工廠。 – Phoenix

相關問題