factory_girl单身依赖

时间:2012-06-21 01:06:29

标签: ruby-on-rails ruby rspec factory-bot

我有一个有趣的场景。

我的任务模型具有任务状态

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 个答案:

答案 0 :(得分:1)

最简单的事情:

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