PHPUnit代码覆盖暂停,不报告任何错误

时间:2012-06-13 06:11:42

标签: php phpunit code-coverage

使用codecoverage执行PHPUnit时,生成的coverage只会暂停而不会出现任何错误,并且不会生成任何报告。

问题是由一个文件中的致命错误引起的,但是很难找到错误是什么而没有出现任何错误。

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

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

1 个答案:

答案 0 :(得分:1)

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

我设置了错误报告:

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

我认为这应该有用,但看起来你只能提供常量(E_ALL)或文字值,而不是那样的表达式。此配置会将error_reporting设置为'E_ALL & ~E_STRICT',而不是正确的数值,从而导致所有错误都被静音。

我通过在phpunit bootstrap文件中设置error_reporting来解决这个问题。