AWDwR 12.4まで

まずは、コントローラのテスト。ふつーに書けばいいみたい:-)。

リクエストを発行するメソッドはこんな感じ。

get :index
post :login, :user => {:name = 'enkimi', :password => 'enkimi'}

で、アサーションはこんな感じ。

assert_response :success
assert_redirected_to :action => 'index'
assert_template 'store/index'
assert_tag :tag => 'div', :attributes => {:class => 'error'}

アクションで格納されたインスタンス変数を格納したハッシュのassignsは大人の事情?でなぜかシンボルで参照できないので、シンボルで参照できるメソッドを用意しておきましたよ。

assigns[:items] ×
assigns(:items) ○

次にモック。モックはモデルのモック化したいメソッドをオーバーライドすればOK。テスト時はまずモックをロードし、モックがなければモデルをロードしてくれる。

今日はあっさりとこんな感じで。