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

时间:2011-05-19 18:14:20

标签: php linux unit-testing netbeans phpunit

我在桌面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:~#

正如您所看到的,我的电脑中没有这样的文件或文件夹。怎么办?

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

5 个答案:

答案 0 :(得分: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

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

答案。我最后如何安装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

答案 1 :(得分:8)

  1. 配置频道自动发现

      

    sudo pear config-set auto_discover 1

  2. 只需在启用了--alldeps标志的情况下升级/安装phpunit

      

    sudo pear upgrade --alldeps channel://pear.phpunit.de/PHPUnit

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

    <强>更新 http://pear.phpunit.de/已离开(返回410)

答案 2 :(得分: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

答案 3 :(得分:3)

PHAR FTW!

$ wget http://pear.phpunit.de/get/phpunit.phar
$ chmod +x phpunit.phar

参考:https://github.com/sebastianbergmann/phpunit/blob/master/README.md

答案 4 :(得分:1)

获取最新版本的pear和phpunit。

pear upgrade
pear upgrade pear
pear upgrade phpunit/PHPUnit