首页 文章

PHPUnit --coverage-html无效

提问于
浏览
0

我使用PHP 7.0并使用PHPunit执行测试用例 . 那些工作正常 . 但是当尝试使用PHPUnit 6.3.0或5.7.23使用--coverage-html选项运行PHPUnit时,它只显示可用选项而不是生成代码覆盖率报告 .

我没有使用任何phpunit.xml文件,是强制性的,如果是,那么如何把我的目录 . 我的项目中有两个文件夹 - 一个用于lib(核心php类文件),另一个用于具有单元测试用例的测试 .

1 回答

  • 0

    假设您的代码位于标准目录内(例如,代码为 src ,测试为 tests ),请使用以下phpuni.xml.dist文件

    <?xml version="1.0" encoding="UTF-8"?>
    <!-- https://phpunit.de/manual/current/en/appendixes.configuration.html -->
    <phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:noNamespaceSchemaLocation="http://schema.phpunit.de/7.0/phpunit.xsd"
        backupGlobals="false"
        colors="true"
        bootstrap="vendor/autoload.php"
    >
        <testsuites>
            <testsuite name="Project Test Suite">
                <directory>tests</directory>
            </testsuite>
        </testsuites>
    
        <filter>
            <whitelist>
                <directory>src</directory>
            </whitelist>
        </filter>
    </phpunit>
    

    然后你可以运行 phpunit 来获得没有覆盖的测试和 phpunit coverage-html build 来获得覆盖测试(随意用您喜欢的任何目录名替换 build

相关问题