Do You PHP はてブロ

Do You PHPはてなからはてブロに移動しました

PHPUnit3+Phingでテストを実行すると余計な表示が出る

現在、PHPUnit3+Phingでハマリ中。。。
Phing2.3.0beta1のphpunitタスクを使って、4つのテストと12のテストを含む2つのテストケースを実行したところ、

$ phing clean-test
Buildfile: /path/to/build.xml

TestProject > clean-test:

   [delete] Deleting /path/to/reports/coverage.db
          :
[phingcall] Calling Buildfile '/path/to/build.xml' with target 'test'

TestProject > test:

    [mkdir] Created dir: /path/to/reports/tests
    [mkdir] Created dir: /path/to/reports/coverage
[coverage-setup] Setting up coverage database for 3 files
PHPUnit 3.1.7 by Sebastian Bergmann.

....

Time: 0 seconds


OK (4 tests)
  [phpunit2] Tests run: 4, Failures: 0, Errors: 0, Time elapsed: 2.32371 sec
 [phpunit2] Tests run: 12, Failures: 0, Errors: 0, Time elapsed: 7.25208 sec
          :

。。ん?なんか余計にテストしてないか、コイツ?テスト4つの方が実行されてるっぽい。。。
「何かなぁ」と思っていたところ、そういえば4つの方はPHPUnit3でクラスから自動生成していたことを思い出し、

<?php
// Call CheckoutTest::main() if this source file is executed directly.
//if (!defined('PHPUnit_MAIN_METHOD')) {
//    define('PHPUnit_MAIN_METHOD', 'CheckoutTest::main');
//}

require_once 'PHPUnit/Framework.php';

          :

// Call CheckoutTest::main() if this source file is executed directly.
//if (PHPUnit_MAIN_METHOD == 'CheckoutTest::main') {
//    CheckoutTest::main();
//}
?>

という具合にコメントアウト。再度実行してみると、

$ phing clean-test
Buildfile: /path/to/build.xml

TestProject > clean-test:

   [delete] Deleting /path/to/reports/coverage.db
          :
[phingcall] Calling Buildfile '/path/to/build.xml' with target 'test'

TestProject > test:

    [mkdir] Created dir: /path/to/reports/tests
    [mkdir] Created dir: /path/to/reports/coverage
[coverage-setup] Setting up coverage database for 3 files
   [phpunit] Tests run: 4, Failures: 0, Errors: 0, Time elapsed: 2.72150 sec
  [phpunit] Tests run: 12, Failures: 0, Errors: 0, Time elapsed: 5.84583 sec
          :

ああ。やっぱり。。。orz
うーん。毎回コメントアウトするのも数が多くなると面倒だし、自動生成せずに済ませられれば一番いいけど、そうも言ってられない場合もあるよなぁ。PHPUnit3のtplファイルに手を入れるのが一番早いけど、はどうしたもんかな。。。