コントローラーをテストするために必要なのは、基本的な機能/統合仕様であり、部分的に保持されているコンテンツを簡単に探すことができます。
feature 'SomeController' do
background do
# setup data
# and anything else you need for authentication, etc. as your site dictates
end
scenario 'viewing the get status page' do
visit some_controller_get_status_path
expect(page).to have_text('WHATEVER IS IN THE LOCAL VAR')
end
end
私はコントローラーの仕様よりも機能の仕様を使用することを好みます (しかし、しばしば失敗します!) コントローラーを非常にシンプルに保つため、コントローラーでテストする必要はあまりありません。機能仕様については、アプリの動作などの点で、テストからより多くを得ているように感じます.
編集:申し訳ありません... Enterキーを押すのが早すぎます:)。
コントローラーの場合、次の行に沿って var 値を直接テストできます。
describe "Your Controller", :type => :controller do
describe "GET get_stuff" do
it "assigns a value to status_name" do
get :get_status
expect(assigns(:status_name)).to eq(['VALUE'])
end
end
end
これは、コントローラーの仕様に 100% 当てはまらない場合があります (繰り返しますが、私はあまり使用しません) が、機能/統合の仕様よりもコントローラーの仕様を優先する必要がある場合は、それでうまくいくはずです。