我正在尝试为我要实现的新功能设置(基本)测试。我有一个工作控制器,而不是默认显示我喜欢的所有工作,隐藏所有存档的工作。我尝试了不同的方式,但似乎我错过了这个难题的一两件。首先我尝试调用'访问',但得到它不存在的消息。第二种方法是使用'render',但最终也会出现错误,表示渲染不存在。 (我甚至可以在控制器规范中使用这些方法吗?)
把它放在控制器测试中是不对的?
2最后一次测试导致错误
require "rails_helper"
require "spec_helper"
describe JobsController, :type => :controller do
context 'GET index' do
it "should be successful" do
get :index
expect(response).to be_success
end
it "renders the index template" do
get :index
expect(response).to render_template("index")
end
it "should not show any archived jobs as default" do
visit jobs_path
page.should have_no_content("Archived")
end
it 'should show the headers' do
render :template => 'job/index', :layout => 'layouts/job'
rendered.should_not contain('Archived')
end
end
end
答案 0 :(得分:0)
Capybara用于特征规格,其匹配器可用于视图规格 默认情况下,控制器规范实际上不会呈现视图,因为它们是检查页面内容的错误位置 - https://www.relishapp.com/rspec/rspec-rails/docs/controller-specs 您应该将一些测试移至功能测试/视图测试