PHPUnit(Linux)的问题 - PHP致命错误

Joh*_*nny 13 php linux phpunit unit-testing netbeans

我在桌面PC上成功安装了PHPUnit并决定将它放在我的笔记本电脑上,但是......然后我尝试创建PHPUnit测试Netbeans会抛出错误"选择的PHPUnit(版本?.?.?)是旧的,升级它如果可能的话(最低版本是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致命错误:

root@ubuntu:~# 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
root@ubuntu:~# find / -name CodeCov*
root@ubuntu:~#
Run Code Online (Sandbox Code Playgroud)

如您所见,我的电脑中没有这样的文件或文件夹.该怎么办?

我尝试多次重新安装(使用apt-get,pear,Synaptic PM ......),但总是得到相同的结果.

Joh*_*nny 24

问题解决了.

关注@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
Run Code Online (Sandbox Code Playgroud)

有什么奇怪的,因为所有的软件都是在一周前刚刚安装的.

回答.我最后如何安装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
Run Code Online (Sandbox Code Playgroud)

如果您仍有问题,请尝试更新PEAR:

sudo wget http://pear.php.net/go-pear.phar
sudo php go-pear.phar
Run Code Online (Sandbox Code Playgroud)

  • 这是一个已知的依赖性错误,它仍然没有修复:https://bugs.launchpad.net/ubuntu/+source/phpunit/+bug/701544 (2认同)

acp*_*ade 8

  1. 配置频道自动发现

    sudo pear config-set auto_discover 1

  2. 只需启用--alldeps标志即可升级/安装phpunit

    sudo pear升级--alldeps频道://pear.phpunit.de/PHPUnit

它会自动完成必要的魔法.:)

更新: http://pear.phpunit.de/已经消失(返回410)