我有以下文件夹结构:
/main
/loader.php
/build.xml
/components
/package1
/class1.php
/package2
/class2.php
/tests
/package1
/class1.test.php
/package2
/class2.test.php
当我运行 Web 应用程序时,我loader.php
首先加载并通过调用Loader::load( 'package_name' )
. 然后包括所有必要的文件。这里的好处是我不需要包含loader.php
在类文件中,因为我可以依赖Loader
.
单元测试类通过显式包含所有必要的类来模拟这种行为。所以 phing 和 PHPUnit 也没有问题。
但现在我想用 phing 和 Xdebug 生成一个覆盖率报告。这里的问题是 phing 似乎加载了每个 PHP 文件来创建覆盖数据库。不幸的是,它停止了,因为它找不到Loader
PHP 文件中使用的类。
我可以轻松地include
向每个类文件添加一条语句,但我想知道是否只有在代码覆盖率分析正在检查文件时才包含文件?
其他想法:我还可以通过扫描单元测试目录并因此找到所有必需的包含的方式来配置覆盖率分析。然后我需要过滤与类似模式匹配的类/Test$/i
。可能的?