2009年2月10日

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」の機能拡張、手間取っています。

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

このエントリーのトラックバックURL: 

"RSpec on RailsでHTTPステータスコードを確認するにはどうすればいいの?"へのトラックバックはまだありません。

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

"RSpec on RailsでHTTPステータスコードを確認するにはどうすればいいの?"へのコメントはまだありません。

Post a Comment

コメントする
(書式を変更するような一部のHTMLタグを使うことができます)
ブラウザに投稿者情報を登録しますか?(Cookieを使用します。次回書き込み時に便利です。)
  •  
  •