記事概要
Ruby on Railsの結合テストについて、まとめる
前提
- Ruby on Railsでアプリケーションを作成している
- アプリにCapybaraをインストールしている
System Spec
結合テストコードを記述するための仕組みのこと
Capybara
というGemを使用し、デフォルトでRailsに搭載されている
手順(テストファイル作成)
- テストファイルを生成するため、下記コマンドを実行する
# アプリのディレクトリに移動 % cd ~/[アプリ名] % rails g rspec:system [モデル名の複数形]
-
spec/system/[モデル名の複数形]_spec.rb
が作成されたことを確認する
手順(テストケースの記述)
-
[モデル名の複数形]_spec.rbにテストケースを記述する
- 機能別・条件別・テスト詳細別にグループ分けを行う
※ユーザー目線で考え、「ブラウザでどのような操作をすると、どうなるのか」をテストケースに反映する - 保存するデータ(インスタンス)を作成する
- テストコードを記述する
※各テストコードが想定通りに実行できるかを確認するため、rails c
コマンドでコンソールを起動して確認を行う
- 機能別・条件別・テスト詳細別にグループ分けを行う
手順(テストファイルの実行)
- テストファイルを実行するため、下記コマンドを実行する
# アプリのディレクトリに移動 % cd ~/[アプリ名] % bundle exec rspec spec/system/[モデル名の複数形]_spec.rb
- ターミナル.appで正常完了していることを確認する
結果が緑色で表示されれば実行成功
※ターミナルにDEPRECATION WARNING
と表示されることがあるが、無視して問題ない
Ruby on Railsまとめ