我有這樣的代碼:rspec的檢查視圖顯示
shared_examples "admin common actions" do |resource|
describe "logged admin" do
login_admin
describe 'GET #index' do
it 'responds with 200' do
get :index, :format => :html
expect(response).to have_http_status(200)
end
end
end
end
所以我的情況下,我認爲預期有一定的錯誤,不渲染測試將失敗的原因服務器會返回500。當視圖未呈現時,我的案例測試通過。我檢查了網址,沒關係。那麼我做錯了什麼?
您應該向'describe'添加'render_views',但這會減慢你的規格,只有在你要測試視圖的時候纔會這樣做。看看這裏https://www.relishapp.com/rspec/rspec-rails/v/2-1/docs/controller-specs/render-views。 – fanta
如果您預計500錯誤,您爲什麼要測試200響應。你是什麼意思你檢查了網址,這沒關係?在這種情況下,確定服務器是否迴應了500錯誤代碼?你是如何測試這個的 - 通過在瀏覽器中輸入它?查看與此相關的其他代碼會很有幫助 - 例如控制器索引代碼,視圖以及測試的相關信息。 – David
所以我檢查了響應對象輸出http://pastie.org/10975039,測試的範圍是查看是否所有視圖都呈現沒有錯誤,我故意在視圖中發生錯誤,讓測試失敗,並且它仍然沒有失敗,當我在瀏覽器中嘗試這個視圖時,我有500個狀態返回 – maki