2012-06-21 44 views
0

我有一個有趣的場景。factory_girl singleton dependencies

我有一個任務模型具有任務狀態

class Task < ActiveRecord::Base 
belongs_to :task_status 
end 

class TaskStatus < ActiveRecord::Base 
has_many :tasks 
end 

我定義工廠爲這兩個模型,我的測試:當創建

FactoryGirl.define do 
    factory :task do 
    title 'sample task' 
    task_status { |task| task.association(:actvice_status) } 
    end 
end 

FactoryGirl.define do 
    factory :active_status do 
    status_value "ACTIVE" 
    end 
end 

問題來了用於測試的實例:

10.times do 
    task = FactoryGirl.create(:task) 
end 

這將創建10個任務以及10個「ACTIVE」任務狀態。實際上,我只需要1個任務狀態,任務可以參考。有任何想法嗎?

回答

1

最簡單的事情:

active = create(:active_status) 
tasks = [] 
10.times do 
    tasks << create(:task, task_status: active) 
end 
+0

它的工作原理。謝謝! – alexs333