为什么phpunit会在monolog消息上抛出PHPUnit_Framework_Exception?

时间:2015-03-05 23:35:02

标签: php phpunit monolog

PHPUnit似乎在Monolog上抛出异常,记录错误。有办法解决这个问题吗?

我已经尝试了几种方法,比如使用PHP的set_error_handler函数 - 但是由于显而易见的原因这种方法不起作用(错误确实没有被抛出......)

WebControllerTest::testPostChangePasswordWithWrongCurrentPassword
PHPUnit_Framework_Exception: [2015-03-05 15:30:34] ERROR: Invalid credentials {"timeWhole":1425598234,"timeDecimal":0.0015931129455566,"type":"message:ERROR","code":49} []

/home/xxxxx/workspace/phpunit/vendor/phpunit/phpunit/src/TextUI/Command.php:152
/home/xxxxx/workspace/phpunit/vendor/phpunit/phpunit/src/TextUI/Command.php:104

请注意,虽然我确实记录了错误,但我正在自己的应用程序中捕获它。

另请注意,PHPUnit的setExpectedException不适用于PHPUnit_Framework_Exception,并且点块符号也不起作用:

/**
 * @expectedException PHPUnit_Framework_Exception
 */

PHPUnit还会在审计消息上抛出异常。

1 个答案:

答案 0 :(得分:0)

好的,终于搞清楚了!

这是因为我正在将一个日志处理程序推送到Monolog以将错误记录到stderr:

$this->logger->pushHandler(new StreamHandler('php://stderr', Monolog::ERROR));