PHPUnit 白名单与测试套件代码覆盖率
PHPUnit whitelist vs test suite code coverage
我目前有一个 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>
我有一些问题:
我是否可以假设在我的 <testsuite>
中 <directory suffix="Test.php">tests
检查对应于该目录中的 Test*.php 的文件?
我目前在我的 src 文件夹中有一个 .php 文件,里面有一些 HTML。当 运行 我的单元测试时,PHPUnit 获取此文件并将其全部内容转储为输出。我想这是因为我使用 processUncoveredFilesFromWhitelist
设置了白名单。
我想这会查看所有扩展名为 .php 的文件,并检查它们是否经过测试。
我可以简单地将白名单更改为我的测试目录,这解决了问题,但我想这会使我的 CodeCoverage 报告无法看到哪些 类 还没有被测试?
当我仍然想在我的项目中包含我想包含在某处的简单 .php 文件时,我该怎么办?我是否在我的 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>
<exclude>
<file>/path/to/your_html_file.php</file>
</exclude>
</whitelist>
</filter>
在回答您的第一个问题时,Test.php 是后缀,因此它会查找 *Test.php.
我目前有一个 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>
我有一些问题:
我是否可以假设在我的 <testsuite>
中 <directory suffix="Test.php">tests
检查对应于该目录中的 Test*.php 的文件?
我目前在我的 src 文件夹中有一个 .php 文件,里面有一些 HTML。当 运行 我的单元测试时,PHPUnit 获取此文件并将其全部内容转储为输出。我想这是因为我使用 processUncoveredFilesFromWhitelist
设置了白名单。
我想这会查看所有扩展名为 .php 的文件,并检查它们是否经过测试。
我可以简单地将白名单更改为我的测试目录,这解决了问题,但我想这会使我的 CodeCoverage 报告无法看到哪些 类 还没有被测试?
当我仍然想在我的项目中包含我想包含在某处的简单 .php 文件时,我该怎么办?我是否在我的 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>
<exclude>
<file>/path/to/your_html_file.php</file>
</exclude>
</whitelist>
</filter>
在回答您的第一个问题时,Test.php 是后缀,因此它会查找 *Test.php.