Все утверждения являются статическими методами из PHPUnit_Framework_Assert
и не могут быть переопределены подклассом TestCase
.Однако вы можете определить свои собственные утверждения, которые вызывают оригиналы с измененным сообщением.
public static function assertTrue($value, $message='') {
PHPUnit_Framework_Assert::assertTrue($value, $message . myLog::GetErrors());
}
Все неудачные тесты вызывают onNotSuccessfulTest()
с исключением как единственный параметр.Вы можете переопределить этот метод и в некоторых случаях добавить ошибки журнала в сообщение об исключении.Некоторые из исключений PHPUnit предоставляют второе описание в дополнение к сообщению об ошибке, содержащемуся в исключении.
public function onNotSuccessfulTest(Exception $e) {
if ($e instanceof PHPUnit_Framework_ExpectationFailedException) {
$e->setCustomMessage(implode(PHP_EOL,
array($e->getCustomMessage(), myLog::GetErrors())));
}
parent::onNotSuccessfulTest($e);
}
Обновление: Как отметил Грегори Ло в комментарии ниже, setCustomMessage()
иgetCustomMessage()
были удалены в PHPUnit 3.6.(