コントローラの機能テスト
機能テストの作成方針
- リクエストに対して,期待通りのレスポンスが返ってくるかを検証する。
- publicな全アクションを網羅する。
- コントローラとビューがテスト対象。基本的なビューのテストは書かなくても良い。
具体的なテストの記述方法
- リクエスト生成(get/postなど)は、ActionController::TestProcessモジュール内のメソッドを利用する。
参照:http://api.rubyonrails.org/classes/ActionController/TestProcess.html
- 検証は,ActionController::Assertionsモジュール内のメソッドを利用する。
参照:http://api.rubyonrails.org/classes/ActionController/Assertions.html
- 手順
-
- (3)コントローラの事後状態を検証する。
- (4)必要に応じて、DBの事後状態を検証する。
- モデルの参照系メソッドを呼び出して、コントローラのアクションが期待通りのDB操作を行なったかどうかをassertで検証。ただし,コントローラ層のテストに,モデル層のメソッド呼び出しを混在させてよいかどうかは十分考えること。
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
何か間違っていることやアドバイス等々があれば、よろしくお願いします。
最後までお読み頂きまして、ありがとうございました。