PHPUnit HTML代码覆盖率错误

时间:2017-12-15 09:58:34

标签: php symfony phpunit code-coverage

我有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有关......

1 个答案:

答案 0 :(得分:0)

因此,错误是由PHPUNIT分析模板文件的事实产生的。而那个不完整的HTML输出实际上是模板中的字符串。

要解决此问题,我将设置从phpunit.xml更改为仅定位所需的文件夹。

<filter>
    <whitelist processUncoveredFilesFromWhitelist="true">
        <directory suffix=".php">../src/*/*/Controller/</directory>
        <directory suffix=".php">../src/Models/</directory>
    </whitelist>
</filter>