2014-01-09 3 views
1

Я пытаюсь установить PHPUnit на моем MBP с помощью OSX Mavericks. Монтажная часть идет отлично, груша не выдает ошибок, исключений или вообще ничего. Но когда я пытаюсь выполнить команду phpunit в терминале, она вызывает ошибку.Установить PHPUnit на OSX Mavericks

Я искал широкий и широкий ответ, но я не могу найти ничего, что решает проблему.

Это то, что происходит:

  • Установка PHPUnit (груша установки PHPUnit/PHPUnit) он говорит, что уже установлен (это правильно).
  • Когда я перечисляю все установленные пакеты в груше (pear list), PHPUnit не отображается в списке.
  • Когда я выполняю команду pear list-all, она отображается дважды в виде PHPUNIT (это версия 1.3.2) и PHPUNIT2 (версия 2.3.6).
  • И когда я пытаюсь выполнить команду PHPUnit он выдает ошибку (дважды):

PHP Fatal error: require_once(): Failed opening required 'File/Iterator/Autoload.php' (include_path='.:') in /usr/local/pear/share/pear/PHPUnit/Autoload.php on line 64

Terminal Output

EDIT: Я это работает на Mountain Lion, но так как я модернизировал для Mavericks phpunit был сломан. Кроме того, я проверил каталог autoload.php, и файл есть.

Может кто-нибудь объяснить, что происходит? Это начинает приводить меня в бешенство.

+0

Это не совсем ответ, но я недавно конвертируются все мои проекты, чтобы они загрузить PHPUnit с помощью Composer. Это намного проще настроить. Кроме того, независимо от того, какую ОС и окружающую среду вы или ваши коллеги используете, PHPUnit всегда доступен, когда вы 'композитор устанавливаете'. –

+0

Спасибо за ваш комментарий. Я смотрю на это, это звучит многообещающе! Быстрый вопрос, работает ли это с XAMPP? И если да, то как? – Sander

+0

Добро пожаловать. Убедитесь, что вы включили autoload.php из композитора, чтобы все классы PHPUnit были доступны для вашего тестирования. Это довольно просто с PHPStorm, который я использую: http: // stackoverflow.com/questions/12814263/phpunit-via-composer-and-phpstorm –

ответ

2

Решение заключалось в использовании IDE PHPStorm и Composer. Это дает преимущество для установки зависимостей на базе проекта.

Спасибо Paves S. за рекомендацию.

Для получения дополнительной информации о том, как установить:

http://www.jetbrains.com/phpstorm/webhelp/enabling-phpunit-support.html

0

Если вы установили PHP с помощью MacPorts, вам необходимо установить include_path в php.ini для:

include_path = ".:/opt/local/lib/php/:/opt/local/lib/php/PEAR/" 

Я также переустановил PHPUnit, так как были некоторые проблемы с зависимостями (отсутствует генератор.php):

Вы можете запустить это как root (найдено t его сценарий here и добавил --alldeps опцию при переустановке):

pear list -c phpunit | grep stable | awk '{print "phpunit/"$1}' | xargs pear uninstall 
pear install --alldeps phpunit/phpunit 
Смежные вопросы