处理PHPUNIT路径问题
-
28-09-2020 - |
题
当我尝试从我当前的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语句的情况下运行,并手动包含任何单个单元测试所调用的所有类文件。
任何想法?
编辑: 它看来是与__Autoload函数的冲突。我仍然不太确定如何解决这个问题。
解决方案
好吧,我不知道为什么这实际上是......但是因为它确实如此,我会发布结果。
$paths[] = get_include_path();
$paths[] = '../m';
$paths[] = '../v';
$paths[] = '../c';
set_include_path(implode(PATH_SEPARATOR, $paths));
.
所以你去了。至少,在那里,在那里,在你实际上遇到这个问题的情况下也是如此:) 不隶属于 StackOverflow