FactoryGirlでアソシエーションを張ってるのにうまくcreateできない
twitter_user belongs_to userの関係がある場合、twitter_userにuserのデフォルト値が必要。
userの方にデフォルトでtwitter_userを指定してしまうと無限ループになるので注意。
userのtraitで条件をつければよい。これでuser側側からはFactoryGirl.create(:user, :with_twitter_user)で、twitter_user側からはFactoryGirl.create(:twitter_user)でcreate可能。
FactoryGirl.define do
factory :twitter_user do
sequence(:uid) {|n| "uid#{n}"}
sequence(:nickname) {|n| "nicknamme#{n}"}
user
end
factory :user do
sequence(:username) {|n| "ユーザ#{n}"}
trait :with_twitter_user do
twitter_user
end
end
end