세 번째 모델과의 연관성이있는 두 번째 모델에 대한 연결이있는 모델에 대한 팩토리를 가지고있을 때 빌드 전략을 유지할 수 있습니까?FactoryGirl은 중첩 된 연결을 사용하여 전략을 구축합니다.
아래 예에서 게시물은 사용자와 연결되어 있고 사용자는 도시와 연결되어 있습니다. 모든 연결에 :strategy => :build
이 사용 된 경우에도 post.user
및 post.user.city
이 데이터베이스에 저장됩니다. 신속한 테스트 스위트를 위해 이러한 데이터베이스 쓰기가 발생하지 않도록 할 수 있습니까?
Factory.define do
factory :user do
name "A User"
association :city, :strategy => :build
end
factory :city do
name "A City"
end
factory :post do
title "A Post"
body "Some text here"
association :user, :strategy => :build
end
end
post = FactoryGirl.build(:post)
post.new_record? # True
post.user.new_record? # False
post.user.city.new_record? # False