我在我的 rspec 测试中经常看到这种模式,我已经尝试了几次来清理它,但没有运气。当然,我有一家工厂,blog
还有一家工厂post
。博客 has_many 帖子。
我通常为此使用 FactoryGirl,工厂看起来像这样:
FactoryGirl.define :blog do |b|
b.title "my blog"
end
FactoryGirl.define :post do |p|
p.author "some dude"
p.content
end
这是我的 rspec 测试中的代码气味:
@blog = FactoryGirl.create(:blog)
5.times { FactoryGirl.create(:post, :blog => @blog) }
似乎我应该能够定义一个完全水合的博客文章的新工厂:
FactoryGirl.define :blog_with_posts, :parent => :blog do |bwp|
5.times { bwp.association(:post) }
end
我一直无法找到真正有效的方法。