記事概要
Ruby on Railsのコントローラー単体テストについて、まとめる
前提
- Ruby on Railsでアプリケーションを作成している
- アプリにRSpecをインストールしている
- RSpecの設定が完了している
RSpecとは
コントローラーテストコードを書く方針
あるアクションにリクエストを送ったとき、想定通りのレスポンスが生成されるかどうかを確かめる
Request Spec
RSpecが提供している、コントローラーのテストコードを書くために特化した手法
RSpecの導入が完了していれば使用できる
手順(テストファイル作成)
- モデルのテストファイルを生成するため、下記コマンドを実行する
# アプリのディレクトリに移動 % cd ~/[アプリ名] % rails g rspec:request [コントローラー名]
-
spec/requests/[コントローラー名]_spec.rb
が作成されたことを確認する
手順(テストケースの記述)
-
[コントローラー名]_spec.rbにテストケースを記述する
- 機能別・条件別・テスト詳細別にグループ分けを行う
- 保存するデータ(インスタンス)を作成する
- テストコードを記述する
※各テストコードが想定通りに実行できるかを確認するため、rails c
コマンドでコンソールを起動して確認を行う
手順(テストファイルの実行)
- テストファイルを実行するため、下記コマンドを実行する
# アプリのディレクトリに移動 % cd ~/[アプリ名] % bundle exec rspec spec/requests/コントローラー名_spec.rb
- ターミナル.appで正常完了していることを確認する
結果が緑色で表示されれば実行成功
Ruby on Railsまとめ