2016-03-20 1 views
0

私が実装しようとしている新しい機能のための(基本的な)テストを設定しようとしています。私はジョブコントローラーを持っていて、デフォルトの代わりにすべてのジョブを表示していますが、アーカイブされているすべてのジョブを隠すのが好きです。私はさまざまな方法を試しましたが、このパズルの1つまたは2つが欠けているようです。まず、私は '訪問'を呼び出すことを試みたが、それは存在しないというメッセージを得る。 2番目のアプローチは 'レンダリング'を使用していますが、レンダリングが存在しないというエラーで終了します。 (コントローラ仕様でこれらのメソッドを使用することはできますか?)インデックスのrspecテスト、アーカイブされていないすべてを表示

これをコントローラテストに入れるのは間違っていますか?

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

カピバラが機能仕様のために使用され、その照合プログラムは、ビュー仕様で使用することができるの原因となっています。
彼らはページの内容をチェックすることが間違った場所だからコントローラの仕様は、デフォルトでは、実際にビューをレンダリングしていない - https://www.relishapp.com/rspec/rspec-rails/docs/controller-specs あなたはおそらくテストを特徴とする、あなたのテストの一部を移動する必要があります/ビューテスト

関連する問題