PHP_CodeCoverage 1.1删除了PHP_CodeCoverage_Filter的单例访问器,该访问器允许我们的PHPUnit bootstrap.php文件将目录添加到白名单/黑名单。 PHPUnit 3.5使用黑名单从异常堆栈跟踪中剥离类,而CC使用白名单限制跟踪。我们使用了这两个功能。

如何从PHP_CodeCoverage_Filter文件中获取PHPUnit将使用的bootstrap.php实例?

注意:我们不能将它们放入phpunit.xml中,因为路径是根据环境变量和配置文件构建的。

更新:我看到PHPUnit_Util_Filter不再使用代码覆盖率黑名单来过滤堆栈跟踪。很好,并且由于此类是为静态访问而设计的,因此我可以添加一种方法来将用户目录添加到列表中。这将是一个容易的更改,并且可以解决此问题的一半。

最佳答案

我已经问过塞巴斯蒂安,他证实没有办法用PHPUnit 3.6以编程方式访问CodeCoverage_Filter。

我的建议是还通过拥有一个模板来动态创建phpunit.xml,然后在配置文件填写完毕后,添加所需的<directory>节点。

也许将来会有通过子类化测试运行器来注入PHP_CodeCoverage [_Filter]对象的方法。

关于php - 将文件添加到用于PHPUnit的bootstrap.php中的代码覆盖白名单/黑名单中,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8085674/

10-10 22:06