Файл Getting Started в источнике factory_girl содержит информацию об ассоциациях.
Могут быть созданы связанные экземпляры
используя метод ассоциации, когда
определение ленивого атрибута:
factory :post do
# ...
author
end
Вы также можете указать другой
атрибуты фабрики или переопределения:
factory :post do
# ...
association :author, :factory => :user, :last_name => 'Writely'
end
Итак, в вашем случае, я мог бы представить себе что-то вроде этого:
Factory.define :thread do |thread|
thread.title "mythread"
thread.thread_participation
end
Factory.define :thread_participation do |ppn|
ppn.attribute "value"
end
Если вы используете коллекцию вместо has_one
/ belongs_to
, вы можете создать массив следующим образом:
Factory.define :thread do |thread|
thread.title "mythread"
thread.thread_participations { |a| [a.association(:thread_participation)] }
end