10
テストケースを異なる設定で複数回実行する方法を探しています。PHPUnitテストケースを複数回実行する
私はデータベースアクセスクラス(数多くのテストメソッド)をテストしていて、 "通常モード"とそれから "デバッグモード"でテストしたいと考えています。どちらのモードも同じテスト結果を生成する必要があります。
テストケースの設定でこれを行う可能性はありますか?または、run()メソッドをオーバーライドしますか? 私はもちろん、二回テストを書きたくはありません:)
はあなたに
編集ありがとう:手に入れました!
public function run(PHPUnit_Framework_TestResult $result = NULL)
{
if ($result === NULL) {
$result = $this->createResult();
}
/**
* Run the testsuite multiple times with different debug level
*/
$this->debugLevel = 0;
print "Setting debug level to: " . $this->debugLevel . PHP_EOL;
$result->run($this);
$this->debugLevel = 8;
print "Setting debug level to: " . $this->debugLevel . PHP_EOL;
$result->run($this);
$this->debugLevel = 16;
print "Setting debug level to: " . $this->debugLevel . PHP_EOL;
$result->run($this);
return $result;
}
public function setUp()
{
parent::setUp();
$this->myclass->setOptions('debug', $this->debugLevel);
}
テストデータセットを生成する '@ dataProvider'関数を見てください。 – Sven
私は使い方dataProvidersを知っています:)クラスの簡単な設定を変更して、すべてのテストメソッドを再度実行したいだけです。何かが好きです:run(); $ class-> setDebug(true); run(); –
これは通常の場合ではないと思います。元のテストクラスを拡張し、 'setUp()'でその1つのものを変更しようとしましたか?これは、新しいラベルの下にあるすべてのテストコードを継承し、その内容を2回実行する必要があります。 – Sven