0

面白いシナリオがあります。

タスクステータスを持つタスクモデルがあります:

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 つだけ必要です。何か案は?

4

1 に答える 1

1

最も簡単なこと:

active = create(:active_status)
tasks = []
10.times do
    tasks << create(:task, task_status: active)
end
于 2012-06-21T01:14:36.020 に答える