【问题标题】:PHPUnit whitelist vs test suite code coveragePHPUnit 白名单 vs 测试套件代码覆盖率
【发布时间】:2017-04-30 23:18:51
【问题描述】:

我目前有一个如下所示的 phpunit.xml 文件:

<testsuites>
    <testsuite name="Application Test Suite">
        <directory suffix="Test.php">tests</directory>
    </testsuite>
</testsuites>
<filter>
    <whitelist processUncoveredFilesFromWhitelist="true">
        <directory suffix=".php">src</directory>
    </whitelist>
</filter>

我的一些问题:

我是否可以假设在我的&lt;testsuite&gt;&lt;directory suffix="Test.php"&gt;tests 检查与该目录中的 Test*.php 对应的文件?

我目前在我的 src 文件夹中有一个 .php 文件,其中包含一些 HTML。 PHPUnit 在运行我的单元测试时获取该文件并将其全部内容作为输出转储。我想这是因为我使用processUncoveredFilesFromWhitelist 设置了白名单。

我想这会检查所有带有 .php 扩展名的文件并检查它们是否已经过测试。

我可以简单地将白名单更改为我的测试目录,这解决了问题,但我想这会使我的 CodeCoverage 报告无法看到哪些类尚未测试?

当我仍然想在我的项目中包含我想要包含在某处的简单的 .php 文件时,我该怎么办?我是否在我的 phpunit.xml 文件中写了一些东西来忽略这些文件?

【问题讨论】:

    标签: php phpunit


    【解决方案1】:

    您可以使用以下命令排除该文件(以及任何其他不可测试的文件):

    <testsuites>
        <testsuite name="Application Test Suite">
            <directory suffix="Test.php">tests</directory>
        </testsuite>
    </testsuites>
    <filter>
        <whitelist processUncoveredFilesFromWhitelist="true">
            <directory suffix=".php">src</directory>
            <exclude>
                <file>/path/to/your_html_file.php</file>
            </exclude>
        </whitelist>
    </filter>
    

    在回答您的第一个问题时,Test.php 是后缀,因此它会查找 *Test.php。

    【讨论】:

      猜你喜欢
      • 2012-01-14
      • 2012-01-18
      • 2012-05-04
      • 1970-01-01
      • 2021-02-08
      • 2018-01-30
      • 2023-04-07
      • 2018-05-29
      • 2012-08-04
      相关资源
      最近更新 更多