PHPUnit 警告 - 未配置过滤器,不会处理代码覆盖率

Prz*_*Kro 6 php phpunit warnings unit-testing

我正在尝试使用 PHPUnit 生成覆盖率 html 文件。我收到一条警告:“未配置过滤器,不会处理代码覆盖率”并且未生成覆盖率文件。

这是 phpunit.xml 文件

<?xml version="1.0" encoding="UTF-8"?>
<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" colors="true" xsi:noNamespaceSchemaLocation="https://schema.phpunit.de/9.3/phpunit.xsd">
  <testsuites>
    <testsuite name="Application Test Suite">
      <directory>./phpUnitTutorial</directory>
    </testsuite>
  </testsuites>
</phpunit>
Run Code Online (Sandbox Code Playgroud)

任何人都可以帮忙吗?

afi*_*ina 19

我将以下内容添加到 PHPUnit 9.5 配置文件中的<phpunit>标签之间:

<coverage>
    <include>
        <directory suffix=".php">src</directory>
    </include>
</coverage>
Run Code Online (Sandbox Code Playgroud)


Seb*_*ann 14

我建议您使用配置生成器 ( phpunit --generate-configuration)。它会问你几个问题,然后为你生成正确的配置。


use*_*772 7

从 PHPUnit 10.x 开始,它是:

<?xml version="1.0"?>
<phpunit
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:noNamespaceSchemaLocation="https://schema.phpunit.de/10.1/phpunit.xsd"
        bootstrap="bootstrap.php"
        colors="true"
        beStrictAboutOutputDuringTests="true"
        cacheDirectory=".phpunit.cache"
        requireCoverageMetadata="true"
>
    ...
    <source>
        <include>
            <directory>../../src</directory>
        </include>
    </source>
</phpunit>
Run Code Online (Sandbox Code Playgroud)