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还会在审计消息上抛出异常。
答案 0 :(得分:0)
好的,终于搞清楚了!
这是因为我正在将一个日志处理程序推送到Monolog以将错误记录到stderr:
$this->logger->pushHandler(new StreamHandler('php://stderr', Monolog::ERROR));