CakePHP1.2 SimpleTest のテストケースをまとめて実行する
ある程度テストケースが増えてくるといちいち App Test Cases からひとつづつテストを実行するのは面倒です。そこでグループ化してまとめてテストケースを実行する方法です。
テストケースのグループ化
app/tests/groups 以下に GroupTest を継承したクラスを作成する。
GroupTest を継承したクラスのファイル名は hoge.group.php のように .group.php を付ける。
まとめる対象はディレクトリかファイルを指定できる。
ディレクトリでテストケースをグループ化
例としてモデルのテストケースを全てグループ化してみます。
app/tests/groups/model.group.php
<?php class ModelGroupTest extends GroupTest { var $label = 'Model Group Test'; function ModelGroupTest() { TestManager::addTestCasesFromDirectory($this, APP_TEST_CASES.DS.'models'); } } ?>
TestManager::addTestCasesFromDirectory でグループにするディレクトリを指定しています。ここではモデルのテストケースのある app/tests/cases/models を指定しています。
ファイルでテストケースをグループ化
ファイルを指定してグループ化することも可能です。
app/tests/groups/test1.group.php
<?php class Test1GroupTest extends GroupTest { var $label = 'Test1 Group Test'; function Test1GroupTest() { TestManager::addTestCasesFromDirectory($this, APP_TEST_CASES.DS.'models'); TestManager::addTestFile($this, APP_TEST_CASES.DS.'controllers'.DS.'users_controller'); } } ?>
モデルのグループに addTestFile で app/tests/cases/controllers/users_controller.test.php を追加しています。ファイル名を指定するときにファイル名の最後の .test.php は付けません。
グループテストの実行
test.php の App Test Group をクリックすると作成したグループが表示されます。実行したいグループテストをクリックするとグループ化したテストケースが全て実行されます。
参考URL
API for CakePHP : The PHP Rapid Development Framework :: version 1.2.x.x
関連する投稿
One comment
コメントをどうぞ
Additional comments powered by BackType
1acclaim…
…