我有PHPUnit 5.4.6和PHP 5.6.16与Xdebug 2.4.0RC2。
HTML代码覆盖率给出了这个错误:
Undefined property: SebastianBergmann\CodeCoverage\CodeCoverage::$container
实际生成了一些HTML输出:
<!DOCTYPE html>
<html lang="en" xmlns:ng="http://angularjs.org">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="description" content="" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<script type="text/javascript">
var baseUrl = '
PHP框架是Symfony 2.它是指Symfony容器还是其他东西?有什么想法从哪里开始调试?
更新:
奇怪的是,使用--filter选项运行一些测试我得到了一个更复杂的错误消息:
Notice: Undefined property: PHP_CodeCoverage::$container
in [...]\src\Index\HomeBundle\Resources\views\Home\404.html.php on line 8
所以它与Symfony有关......
因此,错误是由PHPUNIT分析模板文件的事实产生的。那个不完整的HTML输出实际上是模板中的字符串。
为了解决这个问题,我将设置从phpunit.xml更改为仅定位所需的文件夹。
<filter>
<whitelist processUncoveredFilesFromWhitelist="true">
<directory suffix=".php">../src/*/*/Controller/</directory>
<directory suffix=".php">../src/Models/</directory>
</whitelist>
</filter>