所以我很擅长使用RSPEC进行测试
我只是测试我的控制器的渲染:
describe "GET job" do
it "renders the jobs view" do
get :jobs
expect(response).to render_template :jobs
end
但是我的视图(作业)是一个文件夹,而不是模板,所以上面的dosnt工作。我如何测试以查看响应是否转到作业视图文件夹。在我的工作视图文件夹中,我有许多不同的文件。
我的客户控制器操作如下:
def jobs
@jobs = @customer.jobs
end
答案 0 :(得分:2)
要测试foobar
内的app/views/jobs/
模板,请使用此代码:
describe "GET job" do
it "renders the jobs view" do
get :jobs
expect(response).to render_template :foobar
end
如果您没有测试JobsController
并希望确保它仍然呈现app/views/jobs/foobar
,那么您应该将其更改为此行:
expect(response).to render_template("jobs/foobar")
答案 1 :(得分:0)
理想情况下,在rspec控制器中,测试视图呈现默认为存根。要检查控制器规范中的视图渲染,您必须执行以下操作:
describe "GET job" do
render_views
it "renders the jobs view" do
get :jobs
expect(response).to render_template("jobs/foobar")
end
其中render_views
将渲染控制器操作的相应视图。