テストの備忘録⑤
コントローラーのテスト
コントローラー内のメソッドであるアクションが呼ばれた際の挙動をチェック
Gemfile内でgem 'rails-contoroller-testing'でインストール
specディレクトリ直下にcontrollersディレクトリを作成し、その中にテストコードを書くファイルを作成
ファイルの先頭にrequire 'rails-helper'を追記
擬似的になリクエストを行うコード
httpメソッドにそれぞれ対応するメソッド(get,post,delete,patch)を利用する。
(引数として、利用したいコントローラーのアクションをシンボル型で渡す。必要なパラメーターがある時は、ハッシュ形式で渡す。)
response
example内でリクエストが行われた後の遷移先のビューの情報を持つインスタンス
render_template
マッチャの一つ。引数で指定したアクションがリクエストされた時に自動的に遷移するビューを返す。
アクション内で定義されているインスタンスが期待したものかテストする
editなどレコードが入ってないといけないアクションのテストを行うにはfactory_botでレコードを保存する
assignsメソッド
コントローラーのテスト時、アクションで定義しているインスタンス変数をテストするためのメソッド。
*_listメソッド
factory_botの設定ファイルに存在しているデータを複数作成したい場合に利用
Faker
email,電話番号,名前などのダミーデータを作成する為のGem
factory_botの設定ファイルの中でFakerメソッドにてランダムにダミーデータを作成する。
matchマッチャ
引数に配列クラスのインスタンスをとり、expectの引数と比較するマッチャ。
配列の中身の順番までチェックする。