FactoryGirl:我如何创建一个工厂并在协会中随处使用它

时间:2012-03-31 02:30:17

标签: ruby-on-rails-3 cucumber factory-bot

我定义了两个工厂(还有其他工厂没有显示)如下:

求职者& SavedSearch

FactoryGirl.define do
  factory :job_seeker do
    type Role::JOB_SEEKER_TYPE
    commenced_on { rand(60).days.ago }
  end

  factory :saved_search do
    title   { Faker::Company.bs + ' title' }
    association :job_seeker
    saved_on    { rand(10).days.ago }
  end
end

如果我使用FactoryGirl步骤定义实例化求职者,如下所示:

Given 1 job seeker exists

然后当我这样做时:

Given 3 saved searches exist

我得到3个saved_searches好了,但是所有人都有新的求职者(应该如表达的那样) - 但不是我想要的。

所有搜索都必须引用已经实例化的第一个求职者。

如何在以下关联中引用原始job_seeker工厂(已实例化):saved_search。

使用:

cucumber-1.1.9
factory_girl_rails-1.7.0
factory_girl-2.6.4
rails-3.0.12

1 个答案:

答案 0 :(得分:0)

它做了它应该做的事情。 job_seeker {JobSeeker.first || association(:job_seeker)}解决了这个问题。