RSpec on RailsでHTTPステータスコードを確認するにはどうすればいいの?

今回はTest::Unitじゃなくて、RSpec on Railsを使おうと思ったのですが、早速ハマっておりました。

HTTPステータスコード(404 Not Foundとか)を確認するテストを書こうと思ったところ、200と300系については専用の構文(response.should be_success
)があるんですが、それ以外についてはどうすればいいのか、わからず。

小一時間ほど悩んだあげく、以下のように書いたんですが、これでいいんでしょうか?

it "IDが9桁の場合、400(Bad Request)を返すこと" do
get 'show', :id => '123456789'
response.status.should =~ /400/
end

正規表現を使って400をチェックしていますが、「400 Bad Request」の完全一致がいいのかしら。

そんなわけで、「新書.in」の機能拡張、手間取っています。

シェアする

  • このエントリーをはてなブックマークに追加

フォローする