ue-bose_BLOG

日々学んだことをアウトプット

テストの備忘録⑤

コントローラーのテスト

 コントローラー内のメソッドであるアクションが呼ばれた際の挙動をチェック

 

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の引数と比較するマッチャ。

配列の中身の順番までチェックする。