0

当使用 codecoverage 执行 PHPUnit 时,覆盖率生成只是停止而没有任何错误,并且不会生成报告。

该问题是由一个文件中的致命错误引起的,但是很难在没有任何错误出现的情况下找到错误所在。

我已经确认display_errors开启,并且我error_reporting在 php.ini 中设置为 -1

经过从覆盖范围中排除文件的大量测试后,我发现文件有误,以及错误是什么(类没有实现继承的抽象方法),但如果我遇到实际错误,这可能会更快。

4

1 回答 1

1

问题出在正在使用的 PHPUnit 配置中。

我已经设置了这样的错误报告:

<php>
    <ini name="error_reporting" value="E_ALL & ~E_STRICT" />
</php>

我认为这应该可行,但您似乎只能提供常量 ( E_ALL) 或文字值,而不是这样的表达式。此配置会将 error_reporting 设置为'E_ALL & ~E_STRICT',而不是正确的数值,从而使所有错误都被忽略。

我通过在 phpunit 引导文件中设置 error_reporting 解决了这个问题。

于 2012-06-13T06:11:42.867 回答