アサーションのすべては、PHPUnit_Framework_Assert
の静的メソッドであり、TestCase
のサブクラスで上書きすることはできません。ただし、修正されたメッセージでオリジナルを呼び出す独自のアサーションを定義することはできます。
public static function assertTrue($value, $message='') {
PHPUnit_Framework_Assert::assertTrue($value, $message . myLog::GetErrors());
}
すべてのテストが唯一のパラメータとして例外でonNotSuccessfulTest()
を呼び出しに失敗しました。このメソッドをオーバーライドし、場合によってはログエラーを例外のメッセージに追加することができます。 PHPUnitの例外の中には、例外に含まれるエラーメッセージに加えて2番目の記述があります。
public function onNotSuccessfulTest(Exception $e) {
if ($e instanceof PHPUnit_Framework_ExpectationFailedException) {
$e->setCustomMessage(implode(PHP_EOL,
array($e->getCustomMessage(), myLog::GetErrors())));
}
parent::onNotSuccessfulTest($e);
}
更新:グレゴリーLoは以下のコメントで述べたように、setCustomMessage()
とgetCustomMessage()
はPHPUnitの3.6で除去しました。 。。:(それはもう必要ありません最近のPHPUnitのバージョンで
私が決めたおかげ。 – phoolish
getCustomMessageメソッドとsetCustomMessageメソッドはどこで手に入りましたか?PHPUnit_Framework_ExpectationFailedExceptionにはこのようなメソッドはありません – Soid
@ GregoryLo悲しいことに、彼らは私が見分けることができない理由で3.6リリースで削除されました。 –