使用codecoverage执行PHPUnit时,生成的coverage只会暂停而不会出现任何错误,并且不会生成任何报告。
问题是由一个文件中的致命错误引起的,但是很难找到错误是什么而没有出现任何错误。
我已确认display_errors
已启用,并且我已在php.ini中将error_reporting
设置为-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来解决这个问题。