初学者・初投稿です。よろしくお願いします!間違い等あればご指摘ください!
Rails 6.0.0
Ruby 2.6.5
Rspecの前に、まずテストコードの必要性について確認したのち、本題に触れます。
テストコードとは?
テストコードを書くことで、手動ではなく、自動でWebアプリケーションの挙動を確認してくれます!
メリットとしては、
・ クオリティの担保ができる
人為的なミスや、仕様が変えあった時に一から全部やらねばならない、確認した記録が残らないなど。
・ 仕様を見極めることができる
テスト項目を洗い出す=アプリケーションの仕様を把握することができる。
テストコードを書く的に意識することは以下の2点です!
1.「何を確認したいのか」を意識する。
2. 気になる点があれば、binding.pryで止める。(別途Gem「pry-rails」のインストールが必要)
テストコードの種類
テストコードには、大きく分けると2つの種類があります。
単体テストコード
モデルやコントローラーなどの機能1つ1つを確認します。
バリデーションの挙動確認が主体のイメージ。
結合テストコード(統合テストコード)
ユーザーがブラウザで操作する一連の流れを再現して問題がないかを確認します。
ex) ユーザーが新規登録をする場合
トップページに移動→サインアップページがあるかを確認→新規登録ページに遷移→ユーザー情報の入力→...など。
Railsにおいて、テストを書くときに使うと便利なRspec
テストコードについて大まかに理解できたところで、本題に入りましょう!
Rspecとは?
Rspecとは、Ruby on Railsにテストコードを書くためのGemのことです。
Rspecでは、コマンドひとつでテストの実行が可能です。便利!
Rspecの導入(Gem)
Rspecの導入は至って簡単です。
Gemfileを開き、group :development, :test doにgem **'rspec-rails', '~> 4.0.0'**を記述します・
group :development, :test do
# Call 'byebug' anywhere in the code to stop execution and get a debugger console
gem 'byebug', platforms: [:mri, :mingw, :x64_mingw]
gem 'rspec-rails', '~> 4.0.0'
end
その後bundle installを実行しましょう。
% cd ~/#任意のディレクトリへ移動
% bundle install
Rspecの設定
次にアプリケーション内でRspecを使うための設定をしていきます。
任意のアプリケーションにRspecをインストール
以下のコマンドです。ターミナルに記述します。
% rails g rspec:install
完了するといくつかのファイルやディレクトリが生成されます。
.rspecに設定の追加
テストコードの結果を可視化するための設定をします。
先ほど生成されたファイルの一つ**.rspec**ファイルを開き、以下の記述を追加しましょう。
--require spec_helper
--format documentation
ここまででRspecの設定は完了です!お疲れ様でした!
単体テスト、結合テストについては別記事にて随時更新します。