我正在尝试设置规范以正确运行我的嵌套资源。
这是我正在尝试正确设置的测试代码
it "redirects to the created unit" do
post :create, {:course_id => @course.id , :unit => valid_attributes}
response.should redirect_to(course_unit_path(@course, Unit.last))
end
这本质上应该尝试为“课程”创建一个嵌套资源“单元”。不幸的是,我在所有 POST DELETE 和 PUT 测试中都收到以下错误
Failure/Error: post :create, {:course_id => @course.id , :unit => valid_attributes}
NoMethodError:
undefined method `unit_url' for #<UnitsController:0x000000059f1000>
这是有道理的,因为 unit_url 应该是 course_unit_url 但它是 RSpec 调用它...
如何让 RSpec 选择正确的命名路径?对于所有 GET 测试,我手动通过了 :course_id。