当我有一个模型的工厂时,是否可以保留构建策略,该模型与第二个模型关联,而第二个模型本身与第三个模型关联?
在下面的示例中,帖子与用户相关联,用户与城市相关联。即使当: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