次のように私は私のリソースコントローラの削除アクションをテストしてい:RailsのRSpecで204応答をテストするにはどうすればよいですか?
describe ResourceController do
context "DELETE destroy" do
before :each do
delete :destroy, id: @resource.id
end
it { should respond_with(:no_content) }
end
end
私は204 /無コンテンツの応答を期待しています。しかし、このテストはサーバーから返される応答が406であるため、失敗しています。レスポンスは、私がRestテストクライアントから直接コントローラにヒットしたときの204です。
構文は問題ありません。私はshouldaを使っていることを忘れていました。私は削除要求をするときにいくつかのヘッダを設定する必要があるのだろうかと思います。 –
コントローラの内容を投稿してください。 – Gazler
注:少なくともRails 4では 'response.code'は文字列なので、' response.code.should eql "204" 'や' response.response_code.should eql 204'を使うべきです。 http://api.rubyonrails.org/classes/ActionDispatch/Response.htmlを参照してください。 – Soup