私の歴史と今

振り返ると恥ずかしくなるのが私の歴史。だけどそのときは真面目に書いていた訳でね。そんな今の私を書いていく。

RSpecのテストケースを作るときの考慮点

モデル、コントローラ、ビュー、ヘルパーのテストができる訳だけど、それぞれ考慮すべき点はどこかな。

  • モデル
  • コントローラ
    • 使用するテンプレート
    • レスポンスのステータスコード
    • リダイレクトのURL
    • 処理後のリクエスト、セッション、flash、DBデータ
  • ビュー
    • 動的に変わる値(所定の場所に想定している値が出力されていること)
  • ヘルパー

これくらいかな。
ビューのテストは、何を観点にすればいいのか一番想像しにくかった。RSpecのテストは、コントローラもビューも単体テストなんだけど、非常に違和感があった。Rails標準のようなコントローラとビューのテストは一緒にやってしまった方が手っ取り早いと思っていた。特にbefore等で前提データを用意する部分。だけどやってみると、そうでもない。用意するデータが異なることがわかる。コントローラで用意するのは、コントローラ内で処理する前のもの。ビューで必要になるのは、ビューを呼び出す前のもの。作るデータは、コントローラ(とはいえ、こんなテストしてこなかったから違和感はあるけど)
そういえば、lib内のテストは、どこにおくのかな?