Подтвердить что ты не робот

Не удается заставить PHPunit работать

Я пытаюсь заставить PHPunit работать для моего проекта фреймворка zend и сталкивается с различными проблемами. Я переустановил PEAR и удалил PHPunit и переустановил их оба.

Моя текущая ошибка

demian @dimbo-TP: ~ $phpunit PHP Предупреждение: require_once (PHPUnit/Framework/MockObject/Autoload.php): не удалось открыть поток: нет такого файла или каталога в /usr/share/php/PHPUnit/Autoload.php в строке 48 PHP Неустранимая ошибка: require_once(): Не удалось открыть "PHPUnit/Framework/MockObject/Autoload.php" (include_path = '.:/Usr/share/php/:/usr/local/share/php/library') в /usr/share/php/PHPUnit/Autoload.php в строке 48

Я использую ubuntu 11.10, PHP 5.3.6-13ubuntu3.2

Я был бы очень признателен, если бы кто-нибудь мог дать мне несколько указателей. Я много искал в google, но ничто, кажется, не решает мою проблему.

Спасибо,

Демьян.

Вот мой дамп оболочки, который показывает, что я сделал недавно:

[email protected]:~$ phpunit
The program 'phpunit' is currently not installed.  You can install it by typing:
sudo apt-get install phpunit

[email protected]:~$ sudo pear channel-discover pear.phpunit.de
[sudo] password for demian:  

Channel "pear.phpunit.de" is already initialized

[email protected]:~$ sudo pear channel-discover pear.symfony-project.com

Channel "pear.symfony-project.com" is already initialized

[email protected]:~$ sudo pear channel-discover components.ez.no

Channel "components.ez.no" is already initialized

[email protected]:~$ sudo pear update-channels

Updating channel "components.ez.no"

Channel "components.ez.no" is up to date

Updating channel "doc.php.net"

Channel "doc.php.net" is up to date

Updating channel "pear.php.net"

Channel "pear.php.net" is up to date

Updating channel "pear.phpunit.de"

Channel "pear.phpunit.de" is up to date

Updating channel "pear.symfony-project.com"

Channel "pear.symfony-project.com" is up to date

Updating channel "pecl.php.net"

Channel "pecl.php.net" is up to date

[email protected]:~$ sudo pear upgrade-all

Will upgrade channel://pear.php.net/benchmark

downloading Benchmark-1.2.8.tgz ...

Starting to download Benchmark-1.2.8.tgz (8,352 bytes)

.....done: 8,352 bytes

upgrade-all ok: channel://pear.php.net/Benchmark-1.2.8

[email protected]:~$ sudo pear install --force --alldeps phpunit/PHPUnit

downloading PHPUnit-3.6.3.tgz ...

Starting to download PHPUnit-3.6.3.tgz (116,362 bytes)

.........................done: 116,362 bytes

install ok: channel://pear.phpunit.de/PHPUnit-3.6.3

[email protected]:~$ pear install phpunit/PHP_CodeCoverage

phpunit/PHP_CodeCoverage is already installed and is the same as the released version 1.1.1

install failed

[email protected]:~$ phpunit


PHP Warning:  require_once(PHPUnit/Framework/MockObject/Autoload.php): failed to open 
stream: No such file or directory in /usr/share/php/PHPUnit/Autoload.php on line 48

PHP Fatal error:  require_once(): Failed opening required 
'PHPUnit/Framework/MockObject/Autoload.php' (include_path='.:/usr/share/php/:/usr/local/share/php/library') in /usr/share/php/PHPUnit/Autoload.php on line 48

[email protected]:~$ pear install phpunit

Warning: lstat(): Lstat failed for /tmp/pear/cache/312d32445ed39d8611ead5ee1d8cd72frest.cacheid in PEAR/REST.php on line 276
PHP Warning:  lstat(): Lstat failed for /tmp/pear/cache/312d32445ed39d8611ead5ee1d8cd72frest.cacheid in /usr/share/php/PEAR/REST.php on line 276
No releases available for package "pear.php.net/phpunit"
install failed

[email protected]:~$ sudo pear install phpunit

WARNING: "pear/PHPUnit" is deprecated in favor of "phpunit/PHPUnit"
Did not download dependencies: pear/PHP_Compat, use --alldeps or --onlyreqdeps to download automatically
pear/PHPUnit can optionally use package "pear/PHP_Compat"
downloading PHPUnit-1.3.2.tgz ...
Starting to download PHPUnit-1.3.2.tgz (20,913 bytes)
........done: 20,913 bytes
install ok: channel://pear.php.net/PHPUnit-1.3.2

[email protected]:~$ phpunit

PHP Warning:  require_once(PHPUnit/Framework/MockObject/Autoload.php): failed to open stream: No such file or directory in /usr/share/php/PHPUnit/Autoload.php on line 48
PHP Fatal error:  require_once(): Failed opening required 'PHPUnit/Framework/MockObject/Autoload.php' (include_path='.:/usr/share/php/:/usr/local/share/php/library') in /usr/share/php/PHPUnit/Autoload.php on line 48

[email protected]:~$ sudo pear uninstall phpunit
uninstall ok: channel://pear.php.net/PHPUnit-1.3.2

[email protected]:~$ ^C

[email protected]:~$ pear install phpunit/PHPUnit
phpunit/PHPUnit is already installed and is the same as the released version 3.6.3
install failed

[email protected]:~$ phpunit

PHP Warning:  require_once(PHPUnit/Framework/MockObject/Autoload.php): failed to open stream: No such file or directory in /usr/share/php/PHPUnit/Autoload.php on line 48
PHP Fatal error:  require_once(): Failed opening required 'PHPUnit/Framework/MockObject/Autoload.php' (include_path='.:/usr/share/php/:/usr/local/share/php/library') in /usr/share/php/PHPUnit/Autoload.php on line 48

[email protected]:~$ pear install --force phpunit/PHPUnit

WARNING: configuration download directory "/tmp/pear/download" is not writeable.  Change download_dir config variable to a writeable dir to avoid this warning
Cannot install, php_dir for channel "pear.phpunit.de" is not writeable by the current user

[email protected]:~$ sudo pear install phpunit/PHPUnit

phpunit/PHPUnit is already installed and is the same as the released version 3.6.3
install failed

[email protected]:~$ pear install --force phpunit/PHPUnit

WARNING: configuration download directory "/tmp/pear/download" is not writeable.  Change download_dir config variable to a writeable dir to avoid this warning
Cannot install, php_dir for channel "pear.phpunit.de" is not writeable by the current user

[email protected]:~$ sudo pear install --force phpunit/PHPUnit

Did not download optional dependencies: phpunit/PHP_Invoker, use --alldeps to download automatically
downloading PHPUnit-3.6.3.tgz ...
Starting to download PHPUnit-3.6.3.tgz (116,362 bytes)
.........................done: 116,362 bytes
install ok: channel://pear.phpunit.de/PHPUnit-3.6.3

[email protected]:~$ phpunit

PHP Warning:  require_once(PHPUnit/Framework/MockObject/Autoload.php): failed to open stream: No such file or directory in /usr/share/php/PHPUnit/Autoload.php on line 48
PHP Fatal error:  require_once(): Failed opening required 'PHPUnit/Framework/MockObject/Autoload.php' (include_path='.:/usr/share/php/:/usr/local/share/php/library') in /usr/share/php/PHPUnit/Autoload.php on line 48
4b9b3361

Ответ 1

Он выбирает правильный phpunit, но другие пакеты отсутствуют. Вы должны исправить это, используя

sudo pear install --alldeps --force phpunit/phpunit

или если вы хотите только обновить библиотеку, которая кажется проблемой:

sudo pear install --force phpunit/PHPUnit_MockObject

Пользователи Windows: Опустить "sudo", если вы находитесь на платформе Windows