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 个“活动”任务状态。实际上,我只需要任务可以引用的 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 回答