##テストの種類
全体的なテスト
・システムテスト:ブラウザを通してアプリケーションの挙動を外部的に確認できるテスト
・結合テスト:いろいろな機能の連続を確認するテスト
・機能テスト:コントローラ単位のテスト
個々の部品のテスト(モデル・ルーティング・ビュー・ヘルパー・メーラー・ジョブ)
##テストの頻度
モデルのテスト(高頻度)
結合テスト(高頻度)
ルーティング・メーラー・ジョブのテスト(モデルよりは頻度が高くない)
##テストを行うために必要なもの
・データベース(自分で準備する)
・テストデータ(自動的に作られる)
RSpecとCapybaraを使ってテストを行う
##Unitテスト(ユニットテスト・単体テスト)
class 〇〇Test < ActiveSupport::TestCase
test "test name" do
#実行するコード
assertion #ここにassertionメソッドを #結果の確認 #testブロックの中に最低一つは必要
end
end
testは
test name do
実行するコード
確認用のassertionメソッド
end
で行う
##Integrationテスト(統合テスト)
複数のコントローラーに跨って、ユーザーの実際の操作を追跡するような用途で利用する。
→多段階のプロセスの追跡が可能
作り方(Integrationテストは自分で作る必要がある)
rails generate integration_test testname
##テストの準備と後始末(テストスクリプトでの予約メソッド)
setup (使用するリソースの初期化)
teardown(使用したリソースの後始末)
これらは基底クラスで定義されているので、個別にオーバーライドして使用する