CakePHP でテスト駆動開発
参考にした情報。
CakePHP1.2 に SimpleTest をインストール
CakePHP1.2 SimpleTest でテストケースを作成する
が良エントリ。
CakePHP では SimpleTest というテストモジュールを使うらしい。ここからダウンロードして解凍し、app/vendors か vendors に配置する。SimpleTest はテスト結果をウェブベースで表示するようである。app/webroot/test.php がテスト実行のエントリポイントである。
http://(サーバ名)/(CakePHP アプリケーションへのパス)/test.php
という感じの URL にブラウザからアクセスする。
テストの書き方。たとえば、post.php というモデルがある場合、app/test/cases/models/post.test.php というテスト用のファイルを作成する。
App::import('Model', 'Post');
class PostTestCase extends CakeTestCase {
function testTruth() {
$this->assertFalse(false);
}
}
これで、http://(サーバ名)/(CakePHP アプリケーションへのパス)/test.php にアクセスしてテストを走らせると、テストが成功するはずだ。
詳しくは、 CakePHP1.2 SimpleTest でテストケースを作成するを参照のこと。
モデルに関しては、これでテストが書けそうだ。でも、コントローラについてはどうなんだろう?ディレクトリ構成を見るために、app/tests で find . を実行する。
./groups
./groups/empty
./cases
./cases/components
./cases/components/empty
./cases/behaviors
./cases/behaviors/empty
./cases/controllers
./cases/controllers/empty
./cases/helpers
./cases/helpers/empty
./cases/models
./cases/models/post.test.php
./fixtures
./fixtures/empty
cases/controllers というディレクトリがあるのが見える。コントローラもテストできるような気もする。まだやり方がよくわからない。これはおいおい見ていくことにしよう。