CodeCoverage与PHPunit没有生成

时间:2012-12-02 19:32:46

标签: php phpunit code-coverage xdebug

PHPunit 3.7.1 PHP 5.3.14 Windows 7

使用cmd我将“cd”放入phpunit.xml生存并运行的目录

phpunit -c phpunit.xml

但是这不会产生任何代码覆盖率。

phpunit.xml:

<phpunit
bootstrap="./bootstrap.php"
verbose="true"
>
    <testsuites>
        <testsuite name="Test Suite">
            <directory suffix=".php">./Base/src/</directory>
            <filter>
                <whitelist addUncoveredFilesFromWhitelist="true">
                    <directory suffix=".php">../src</directory>
                    <exclude>
                        <directory suffix=".php">../../vendor</directory>
                    </exclude>
                </whitelist>
            </filter>
            <logging>
                <log type="coverage-html" target="./CodeCoverage/"/>
            </logging>
        </testsuite>
    </testsuites>
</phpunit>

当我跑

phpunit -c phpunit.xml --coverage-html CodeCoverage

效果很好,除了过滤器中的任何内容似乎都有效。

我在这里做错了什么?

1 个答案:

答案 0 :(得分:3)

我不知道phpunit是否支持过滤器的定义和在testsuite中的日志记录。将它全部定义在它自己应该可以工作:

<phpunit
bootstrap="./bootstrap.php"
verbose="true">
    <testsuites>
        <testsuite name="Test Suite">
            <directory suffix=".php">./Base/src/</directory>
        </testsuite>
    </testsuites>
    <filter>
        <whitelist addUncoveredFilesFromWhitelist="true">
            <directory suffix=".php">../src</directory>
            <exclude>
                <directory suffix=".php">../../vendor</directory>
            </exclude>
        </whitelist>
    </filter>
    <logging>
        <log type="coverage-html" target="./CodeCoverage/"/>
    </logging>
</phpunit>