我有一个有趣的场景。
我的任务模型具有任务状态:
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个任务状态,任务可以参考。有什么想法吗?
答案 0 :(得分:1)
最简单的事情:
active = create(:active_status)
tasks = []
10.times do
tasks << create(:task, task_status: active)
end