Unit testing 处理PHPUnit路径问题

Unit testing 处理PHPUnit路径问题,unit-testing,installation,phpunit,autoload,set-include-path,Unit Testing,Installation,Phpunit,Autoload,Set Include Path,当我试图从当前的MVC框架应用程序中运行PHPUnit时,出现以下错误 Fatal error: Cannot redeclare class PHPUnit_Util_FilterIterator in /usr/local/pear/PHPUnit/Util/FilterIterator.php on line 162 我设法把那个错误归结为几件事的组合 $paths = array(); $paths[] = '../m'; $paths[] = '../v'; $paths[] = '

当我试图从当前的MVC框架应用程序中运行PHPUnit时,出现以下错误

Fatal error: Cannot redeclare class PHPUnit_Util_FilterIterator in /usr/local/pear/PHPUnit/Util/FilterIterator.php on line 162
我设法把那个错误归结为几件事的组合

$paths = array();
$paths[] = '../m';
$paths[] = '../v';
$paths[] = '../c';
$paths[] = '/usr/local/pear';
set_include_path(implode(PATH_SEPARATOR, $paths));
当我发表评论时

    set_include_path(implode(PATH_SEPARATOR, $paths));
PHPUnit运行测试

当我发表评论时

$paths[] = '/usr/local/pear';
我明白了

Fatal error: require_once(): Failed opening required 'PHPUnit/Framework/TestCase.php' 
如果我注释掉其他每个目录,请保存

$paths[] = '/usr/local/pear';
我得到了无法重新声明的错误

我可以运行实际测试的唯一方法是,如果我运行时没有set_include_path语句,并且手动包含任何单个单元测试调用的所有类文件

有什么想法吗

编辑:
似乎与自动加载功能存在冲突。我仍然不太确定如何解决这个问题

事实证明,我不知道这到底是怎么回事。。。但既然这样,我就发布结果

$paths[] = get_include_path();
$paths[] = '../m';
$paths[] = '../v';
$paths[] = '../c';
set_include_path(implode(PATH_SEPARATOR, $paths));

好了。那么至少,,如果您确实也遇到了这个问题,那么您就可以这样做了:

它可能会起作用,因为phpunit文件的路径在您的include路径中,而我的合并和不覆盖旧的include路径php能够找到这些文件:该路径可能是在运行时设置的,或者与/usr/local/pear不同,因为安装了2次或其他原因: