RSpec - コントローラスペックでは何をテストすべきか
前提
Rails5からは request spec で記述することが推奨され、公式から controller spec を書くことは非推奨とされている。
テストすべき内容
- Webリクエストが成功したか
- 正しいページにリダイレクトされたか
- ユーザー認証が成功したか
- レスポンスのテンプレートに正しいオブジェクトが保存されたか
- ビューに表示されたメッセージは適切か
出典:「Rails テスティングガイド」における「7 コントローラの機能テスト」。
具体的なテストコード
下記、および書籍 Everyday Rails の第5章 コントローラスペックを参照。
RailsのController Spec | 酒と涙とRubyとRailsと
コントローラスペックからリクエストスペックへの移行方法
@t2kojima さん*1がqiitaの記事でまとめてくださっている。
Rails5でコントローラのテストをController specからRequest specに移行する - Qiita