索引的rspec测试,显示所有未归档

时间:2016-03-20 14:10:59

标签: ruby-on-rails-3 rspec capybara rspec-rails

我正在尝试为我要实现的新功能设置(基本)测试。我有一个工作控制器,而不是默认显示我喜欢的所有工作,隐藏所有存档的工作。我尝试了不同的方式,但似乎我错过了这个难题的一两件。首先我尝试调用'访问',但得到它不存在的消息。第二种方法是使用'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

1 个答案:

答案 0 :(得分:0)

Capybara用于特征规格,其匹配器可用于视图规格 默认情况下,控制器规范实际上不会呈现视图,因为它们是检查页面内容的错误位置 - https://www.relishapp.com/rspec/rspec-rails/docs/controller-specs 您应该将一些测试移至功能测试/视图测试