maeshimaの日記

メモ書きです

rspec_railsのmock_modelとstub_modelの違い

どんなメソッドを使うかまで管理するならmock_model。そこまでしないならstub_modelを使うべきかな。

  • mock_modelは本当に基本的なメソッドだけ使える(idやnew_record?など)。カラム名のメソッドを使いたければ自分で指定してやる必要がある。
  • stub_modelはカラム名のメソッドがデフォルトで使える。

追記

全然認識が違った。stub_modelは実際にModelオブジェクトを作る。でもDBにアクセスしようとするとエラーを起こすようになっている。viewのテストに使う分には便利だけどmodelやコントローラのテストには向かない