PhpUnit忽略其XML配置文件中的* some *指令

时间:2015-05-24 19:23:13

标签: php unit-testing phpunit code-coverage

在每一步都使用PHPUnit开发lib时,一切都很好。然后我在网上推了这个lib并删除了该文件夹。

不久之后,我克隆了一个新的存储库实例来继续开发,在克隆项目的根文件夹中运行完全相同的PHPUnit二进制文件(通过Composer全局安装)(因此,有效地,复制了原始条件),并注意到即使PHPUnit读取文件夹内的配置(它说是这样),它忽略了一些值,即使用颜色和目标只有tests文件夹。相反,它确实运行了我的所有测试并且它们都是成功的,但它为PHPUnit二进制文件所在的文件夹生成了覆盖范围,并且更深入。

然后我尝试了相同的操作,但刚刚下载了phpunit.phar。这个产生了不同但也很奇怪的结果 - 它也正确地读取了配置,并且这次使用了颜色,但再次忽略了tests。它还为其所在的文件夹(项目的根文件夹)生成了覆盖,忽略了XML中的tests位置,而是为testsvendor文件夹生成了覆盖范围。 / p>

这是phpunit.xml.dist used in both cases

Scenario 1: running globally installed PhpUnit

Scenario 2: running locally downloaded PhpUnit.phar

这可能是什么原因? 有问题的库是this,以防您想要运行测试。

1 个答案:

答案 0 :(得分:2)

  • 我无法重现您描述的有关颜色的问题

  • 我能够重现您所描述的有关代码覆盖率和白名单的问题。此问题是由PHP_CodeCoverage 2.0.16中的错误引起的,该错误已在PHP_CodeCoverage 2.0.17中修复