- 運営しているクリエイター
#プログラミング
[output]コントローラー単体テスト
コントローラーの単体テストについて。
コントローラーのテストは、リクエストに対して想定したレスポンスが生成されるか確認する。
例えば、レスポンスの情報を使って、
・正常にレスポンスが返ってきたかをHTTPステータスコードで
・そのページに表示されるはずの情報が存在するかをbodyの情報で
確認する。
詳細は、後ほど。
まずは、コントローラーのテストファイルの作成から。
これには、rails
[output]モデル単体テスト
モデル単体テストは、バリデーション及びメソッドの検証。
異常系テストにおいては、
presence: trueというバリデーションがあるなら、
カラムを空にして、エラーメッセージを検証する、と
バリデーションを参考にイグザンプルを組み立てやすい。
対し、正常系テストは、
アプリの仕様・動作の流れも参考にして、組み立てる必要がある。
例えばユーザー登録というdescribeならば、
「○○と△△
[output] FactoryBot と Faker
●FactoryBotRspecでテストを行うにあたり、
テスト毎にインスタンスを生成するのは
非効率かつ、可読性が落ちる。
そのためFactoryBotというGemを使用し、
テストで使用するインスタンスをあらかじめ設定しておく。
導入方法は、まずGemfileに下記を記述。
group :development, :test do # Call 'byebug' anywhere in