- 運営しているクリエイター
#rspec
[output]サポートモジュール
結合テストでは、「ログインする」というステップを何度も記述した。
テストコードにおいても、繰り返し行う処理をメソッドとして切り離せる。
RSpecでは、サポートモジュールというものを利用して行う。
方法は、specディレクトリ以下にsupportディレクトリを作成。
そこに、.rbファイルを配置。
モジュール名とファイル名は同じにし、名前で何をしているかわかるようにする。
■spec
■su
[output]Rspec結合テスト
●System Spec結合テストは、System Specを用いて記述する。
記述には、カピバラというGemが必要だが、Railsが標準搭載している。
#Gemfilegroup :test do 略 gem 'capybara', '>= 2.15'略end``
そのため、導入処理不要。
ファイル生成は、bundle exec rspec:systemコマンドを実行する。
生成するファイ
[output]モデル単体テスト
モデル単体テストは、バリデーション及びメソッドの検証。
異常系テストにおいては、
presence: trueというバリデーションがあるなら、
カラムを空にして、エラーメッセージを検証する、と
バリデーションを参考にイグザンプルを組み立てやすい。
対し、正常系テストは、
アプリの仕様・動作の流れも参考にして、組み立てる必要がある。
例えばユーザー登録というdescribeならば、
「○○と△△