Я получаю следующее сообщение об ошибке при попытке запуска PHPUnit из моего текущего MVC Framework приложенияРаботы с путем 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 и вручную включаю все файлы классов, вызываемые любым отдельным модульным тестом.
Любые идеи?
EDIT: похоже, что существует конфликт с функцией __autoload. Я все еще не совсем уверен, как решить эту проблему.
Угадайте, это работает, потому что путь к файлам phpunit находится в вашем пути включения, и мое слияние и не переписывание старого пути include php способен находить файлы :) (И этот путь, возможно, установлен во время выполнения или отличается от/usr/local/pear из-за 2-х установок или чего-то :)) – edorian