読者です 読者をやめる 読者になる 読者になる

FactoryGirlで関連データをtrait付きで生成する

ここのissueで議論されていました。

https://github.com/thoughtbot/factory_girl/issues/263

このコミット

例えば、user has_one ownerなOwnerを作成するとして、spec/factories/users.rbがこんな感じとすると。

FactoryGirl.define do
  factory :user do
    sequence(:email) { |n| "lelouch#{n}@lamperouge.com" }
    password "password"

    trait :with_info do
      first_name_kana "ルルーシュ"
      last_name_kana "ランペルージ"
    end
  end

spec/factories/owners.rbはこんな感じでいけます。

FactoryGirl.define do
  factory :owner do
    association :user, :with_info
    status "active"
  end
end

便利。