ある程度テストケースが増えてくるといちいち 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

関連する投稿