piece / stagehand-testrunner

A continuous test runner for CLI
https://github.com/piece/stagehand-testrunner/wiki
BSD 2-Clause "Simplified" License
35 stars 12 forks source link

PHPUnitGroupFilterTestSuite の グループでフィルタしている部分をチューニング #15

Closed ngyuki closed 12 years ago

ngyuki commented 12 years ago

いつも MakeGood と共に使わせていただいています。

PHPUnitGroupFilterTestSuiteで phpunit.xml のグループの設定をもとにテストスイートの$testsプロパティがフィルタされていますが、テストメソッドの数だけshouldExcludeが呼ばれるためテストコードが大量になってくるとテストの始動にかなり時間がかかることがあります(とくに MakeGood でテスト駆動っぽいことを行なっていると)。

そこで下記の通りに変更してみました。

PHPUnitRunnerTestのテストでコードが壊れていないことだけは確認しましたが、既存の下記の部分などでわからない箇所もあったので、このまま取り込めるかどうかわかりません・・・

if ($this->tests[0] instanceof \PHPUnit_Framework_Warning
    && preg_match('/^No tests found in class/', $this->tests[0]->getMessage())
) {
    ...
}

どうぞご確認とご検討をお願いいたします。

iteman commented 12 years ago

パッチを master ブランチに適用いたしました。ライセンスは本体と同様とみなしております。

わからない部分として挙げられているコードはグループフィルター適用により除外されたテストがJUnit XMLに表れるテストの件数として含まれないようにするためのものですが、今回のパッチにおいてもより良い形で実現できておりますので問題ありません。

ありがとうございました。

ngyuki commented 12 years ago

ご確認、ご対応ありがとうございました!