2011-12-13 20:23:42 +0900
rspec + shouldaで、Railsコントローラのステータスコードをテストする場合のメモ。
subject { controller }
it { should respond_with(:success) } # 200にマッチ
it { should respond_with(:redirect) } # 300〜399にマッチ
it { should respond_with(:missing) } # 404にマッチ
it { should respond_with(:error) } # 500〜599にマッチ
上記以外の場合はRack::Utils::SYMBOL_TO_STATUS_CODE
およびActionController::Base::SYMBOL_TO_STATUS_CODE
を利用して変換が行われる。
いずれにもマッチしない場合は値がそのまま比較される。