RSpecのコントローラのテストで利用できる機能

アクセス

Getでアクセスする

get(action, params={})

#例
get(:index, :username => 'foo', :password => 'bar')

Postでアクセスする

post(action, params={})
#例
post(:index, :username => 'foo', :password => 'bar')

取得

レスポンスを取得する

reponse()

コントローラのインスタンス変数を取得する

assigns[変数名]

#例
user = assigns[:user]

セッションオブジェクトを取得する

session()

#例
session[:user].id.should == 1

flashの内容を取得する

flash()

#例
flash[:error_message].should be_blank

コントローラのテストで使うmatcher

レスポンスのステータスコード

response.should be_success

リダイレクト先

response.should redirect_to(:controller => 'login', :action => 'index')

テンプレート

response.should render_template('login')

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です