PHPUnit代码覆盖率报告生成失败

PHPUnit代码覆盖率报告生成失败,php,code-coverage,phpunit,Php,Code Coverage,Phpunit,我正在尝试PHPUnit的一些据说不错的特性,但我无法生成一个奇怪的代码覆盖率报告。我得到的是: rolf@dev ~/projects/current/tests $ scripts/phpunit --configuration $PROJECTS/current/tests/conf/inc/tests.xml [...] Generating code coverage report, this may take a moment. [...] Fatal error: require_

我正在尝试PHPUnit的一些据说不错的特性,但我无法生成一个奇怪的代码覆盖率报告。我得到的是:

rolf@dev ~/projects/current/tests $ scripts/phpunit --configuration $PROJECTS/current/tests/conf/inc/tests.xml
[...]
Generating code coverage report, this may take a moment.
[...]
Fatal error: require_once(): Failed opening required 'lib/DataSource.php' (include_path=':::') in path/to/lib/WS/DataParser.php on line 10
然而,在这个类中,定义了一个特定的include路径,并且require_once在应用程序启动时就像一个符咒

难道PHPUnit不能解决include路径吗

提前感谢,斯塔克弗弗万岁

Rolf

您是否正在更改任何测试/代码中的include_路径?因为它看起来很奇怪(:)

如果您使用的是最新的PHPUNIT(3.5+),可能是因为Sebastion自己已经开始在程序中使用自动加载器

你必须加上这条线

 spl_autoload_register('__autoload');
创建/包含/需要
\u autoload()
函数后

例如,包含我的自动加载器的文件称为函数。在我的引导中,我执行以下操作:

require_once(ROOT_PATH.'/lib/utils/functions.php');
spl_autoload_register('__autoload');

当您“启动”应用程序时,是通过浏览器还是CLI?如果是浏览器,您是在.htaccess文件中设置include路径,还是在PHPUnit未使用的PHP.INI文件中设置路径?嗨,我通常通过浏览器运行应用程序,除了单元测试…顺便说一句,启动应用程序是不正确的?很可能PHPUnit中有不同的PHP_include_路径,或者基本目录不同,我有一个u自动加载函数,只用于更改include_路径的单元测试,但是无法解析的类也定义了一个include路径,所以我不明白…的include_路径(include_path='::')不包含任何实际的路径信息,只包含路径分隔符。这意味着代码只能在当前目录中查找includes。