PhpUnit 忽略了其 XML 配置文件中的 *一些* 指令
PhpUnit ignores *some* instructions in its XML configuration file
在每一步都使用 PHPUnit 开发库时,一切都很好。然后我把这个库推到网上,删除了文件夹。
一段时间后,我克隆了存储库的一个新实例以继续开发,运行 完全相同的 PHPUnit 二进制文件(通过 Composer 在全球安装)在克隆项目的根文件夹中(因此,实际上,重现了原始条件),并注意到即使 PHPUnit 读取文件夹内的配置(它是这么说的),它也忽略了一些值,即使用颜色和目标仅 tests
文件夹。相反,它 运行 我所有的测试都成功了,但它生成了 PHPUnit 二进制文件所在文件夹的覆盖范围,并且更深。
然后我尝试了同样的方法,但使用的是新下载的 phpunit.phar
。这一次产生了不同但也很奇怪的结果——它也正确读取了配置,这次使用了颜色,但再次忽略了 tests
。它还为它所在的文件夹(项目的根文件夹)生成覆盖,忽略 XML 中的 tests
位置,而是为 tests
和 vendor
文件夹生成覆盖还有。
这里是 phpunit.xml.dist used in both cases.
这可能是什么原因造成的?
有问题的库是 this,如果你想 运行 测试。
我无法重现您描述的关于颜色的问题
我能够重现您描述的关于代码覆盖率和白名单的问题。此问题是由 PHP_CodeCoverage 2.0.16 中的错误引起的,该错误已在 PHP_CodeCoverage 2.0.17
中修复
在每一步都使用 PHPUnit 开发库时,一切都很好。然后我把这个库推到网上,删除了文件夹。
一段时间后,我克隆了存储库的一个新实例以继续开发,运行 完全相同的 PHPUnit 二进制文件(通过 Composer 在全球安装)在克隆项目的根文件夹中(因此,实际上,重现了原始条件),并注意到即使 PHPUnit 读取文件夹内的配置(它是这么说的),它也忽略了一些值,即使用颜色和目标仅 tests
文件夹。相反,它 运行 我所有的测试都成功了,但它生成了 PHPUnit 二进制文件所在文件夹的覆盖范围,并且更深。
然后我尝试了同样的方法,但使用的是新下载的 phpunit.phar
。这一次产生了不同但也很奇怪的结果——它也正确读取了配置,这次使用了颜色,但再次忽略了 tests
。它还为它所在的文件夹(项目的根文件夹)生成覆盖,忽略 XML 中的 tests
位置,而是为 tests
和 vendor
文件夹生成覆盖还有。
这里是 phpunit.xml.dist used in both cases.
这可能是什么原因造成的? 有问题的库是 this,如果你想 运行 测试。
我无法重现您描述的关于颜色的问题
我能够重现您描述的关于代码覆盖率和白名单的问题。此问题是由 PHP_CodeCoverage 2.0.16 中的错误引起的,该错误已在 PHP_CodeCoverage 2.0.17
中修复