CakePHP1.2 SimpleTest でコントローラのテストケースを作成
CakePHP1.2 SimpleTest でテストケースを作成する ではモデルのテストケースを作成したので今度はコントローラのテストケースを作成してみました。
コントローラのテストケースは app/tests/case/conrollers 以下に作成します。
app/tests/case/conrollers/user_controller.test.php
<?php class UsersControllerTestCase extends CakeTestCase { function testIndexTitle() { $result = $this->testAction('/users/index', array('return'=>'render')); $this->assertPattern("/<title>TITLE<\/title>/", $result); } function testIndexSet() { $result = $this->testAction('/users/index', array('return'=>'vars')); $this->assertTrue(isset($result["users"])); } } ?>
モデルの時と同じようにテストを行うメソッドは test%Hoge% という名前にします。
testAction でコントローラのアクションを実行します。testAction の2番目の引数に array(‘return’=>’render’) を指定するとコントローラの render を実行した結果が返ります。array(‘return’=>’vars’) を指定するとビューに渡した値が全て配列で返ってきます。何も指定しないとコントローラのアクションで return で指定された値が返ります。
テストの実行はモデルと同様です。上記コードを追加すると App Test Cases に自動的に controllers/users_controller.test.php が追加されます。そのリンクをクリックすることによりテストが実行できます。
ポイントは、モデルと違いインスタンスを作成せずに testAction でテストをするというところでしょうか。
参考 URL
Cookbook :: 1.2 Collection :: マニュアル :: Common Tasks With CakePHP :: Testing
関連する投稿
One comment
コメントをどうぞ
Additional comments powered by BackType
3scientists…
…