我知道我可以在rspec中做一些事情:
let(:project) { Project.new }
但在我的应用程序中,一个项目接受了_ented_attributes_for任务,当我生成Project表单时,我使用以下方法构建一个任务:
@project = Project.new
@project.tasks.build
我需要类似的东西:
let(:project) { Project.new.tasks.build }
但这似乎不起作用。
我如何在我的rspec测试中做到这一点?
答案 0 :(得分:0)
不确定我是否理解你。如果Project和Task是模型,Project has_many任务,Task属于项目,然后(带FactoryGirl gem):
<强> factories.rb 强>
factory :project do
name "Foo"
end
factory :task do
name "Bar"
project
end
规范:中的
let(:task) { FactoryGirl.build(:task) }
before { FactoryGirl.build(:project) }