【问题标题】:why is phpunit throwing PHPUnit_Framework_Exception on monolog messages?为什么 phpunit 在独白消息上抛出 PHPUnit_Framework_Exception?
【发布时间】:2015-03-05 23:35:02
【问题描述】:

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 还会在审计消息中引发异常。

【问题讨论】:

    标签: php phpunit monolog


    【解决方案1】:

    好的,终于明白了!

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-08-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-17
      • 1970-01-01
      相关资源
      最近更新 更多