Проблемы с PHPUnit (Linux) - PHP Fatal Error

Я успешно установил PHPUnit на своем настольном ПК и решил использовать его на своем ноутбуке, но... затем я пытаюсь создать тест PHPUnit. Netbeans выдает ошибку "Selected PHPUnit (version?.?.?) - это старый, обновите его, если это возможно (минимальная версия - 3,3.0).".

Конечно, моя версия PHPUnit новее - 3.5.5-2. Где проблема?

Я использую

  • Ubuntu 11.04
  • Netbeans 6.9
  • PEAR Версия: 1.9.1
  • Версия PHP: 5.3.5-1ubuntu7.2
  • Версия Zend Engine: 2.3.0

Как я понимаю, проблема связана с PHPUnit. Когда я пытаюсь вызвать команду "phpunit" в терминале, я получаю PHP Fatal error:

[email protected]:~# phpunit –version
PHP Warning:  require_once(PHP/CodeCoverage/Filter.php): failed to open stream: No such file or directory in /usr/bin/phpunit on line 38
PHP Stack trace:
PHP   1. {main}() /usr/bin/phpunit:0
PHP Fatal error:  require_once(): Failed opening required 'PHP/CodeCoverage/Filter.php' (include_path='.:/usr/share/php:/usr/share/pear') in /usr/bin/phpunit on line 38
PHP Stack trace:
PHP   1. {main}() /usr/bin/phpunit:0
[email protected]:~# find / -name CodeCov*
[email protected]:~#

Как вы можете видеть, на моем ПК нет такого файла или папки. Что делать?

Я пытался переустановить его много раз (с apt-get, pear, Synaptic PM...), но всегда получаю тот же результат.

Ответы

Ответ 1

Проблема решена.

Следуйте за комментарием @David Harkness Я попытался установить PHP_CodeCoverage, а затем понял, что мой установщик PEAR слишком стар. Я обновил его до 1.9.2, а затем переустановил PHPUnit.

$ wget http://pear.php.net/go-pear.phar
$ php go-pear.phar
$ pear install phpunit/PHPUnit

Что странно, потому что все программное обеспечение было недавно установлено неделю назад.

Ответ. Как я окончательно установил PHPUnit.

sudo pear channel-discover pear.phpunit.de
sudo pear channel-discover components.ez.no
sudo pear channel-discover pear.symfony-project.com
sudo pear install phpunit/PHP_CodeCoverage
sudo pear install phpunit/PHPUnit

Если у вас все еще есть проблемы, попробуйте обновить PEAR:

sudo wget http://pear.php.net/go-pear.phar
sudo php go-pear.phar

Ответ 2

  • настроить автообнаружение каналов

    Конфигурация sudo pear auto_discover 1

  • просто обновить/установить phpunit с включенным флагом -alldeps

    Обновление sudo pear - канал alldeps://pear.phpunit.de/PHPUnit

и он автоматически выполняет необходимую магию.:)

Update: http://pear.phpunit.de/ ушел (возврат 410)

Ответ 3

Другие решения здесь не сработали для меня. Я наконец нашел решение, которое сработало для меня здесь: http://markojakic.net/configure-phpunit-and-pear-in-ubuntu-12-04

По умолчанию груша по умолчанию для меня была установка двоичных файлов в мой домашний каталог. Чтобы исправить это, я выполнил следующие команды

sudo pear config-set bin_dir /usr/bin
sudo pear config-set doc_dir /usr/share/php/doc
sudo pear config-set php_dir /usr/share/php
sudo pear config-set cfg_dir /usr/share/php/cfg (make (sudo mkdir cfg) directory here)
sudo pear config-set data_dir /usr/share/php/data
sudo pear config-set test_dir /usr/share/php/test

sudo pear uninstall phpunit/PHPUnit
sudo pear install phpunit/PHPUnit

Ответ 5

Чтобы получить последнюю версию груши и phpunit.

pear upgrade
pear upgrade pear
pear upgrade phpunit/PHPUnit