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