当我尝试运行时出现以下错误phpunit .
从我的项目的测试文件夹中:
PHP Fatal error: Call to undefined method PHP_CodeCoverage_Filter::getInstance() in /usr/share/php/PHPUnit/Framework.php on line 46
我通过以下命令安装了 PHPUnit:
sudo pear channel-discover pear.symfony-project.com
sudo pear channel-discover components.ez.no
sudo pear install --alldeps phpunit/PHPUnit
由于其他方法似乎都不起作用,包括apt-get
.
I thinkCodeCoverage 在某个时间点改变了它们的单例模式,因此被删除getInstance
但我不知道如何修复这个错误。如何降级 CodeCoverage 或升级 PHPUnit?
我尝试通过以下命令手动安装所有内容的最新版本:
sudo apt-get install git
mkdir phpunit && cd phpunit
git clone git://github.com/sebastianbergmann/phpunit.git
git clone git://github.com/sebastianbergmann/dbunit.git
git clone git://github.com/sebastianbergmann/php-file-iterator.git
git clone git://github.com/sebastianbergmann/php-text-template.git
git clone git://github.com/sebastianbergmann/php-code-coverage.git
git clone git://github.com/sebastianbergmann/php-token-stream.git
git clone git://github.com/sebastianbergmann/php-timer.git
git clone git://github.com/sebastianbergmann/phpunit-mock-objects.git
git clone git://github.com/sebastianbergmann/phpunit-selenium.git
git clone git://github.com/sebastianbergmann/phpunit-story.git
git clone git://github.com/sebastianbergmann/php-invoker.git
sudo cp -r dbunit/PHPUnit /usr/share/php/
sudo cp -r php-code-coverage/PHP /usr/share/php/
sudo cp -r php-file-iterator/File /usr/share/php/
sudo cp -r php-invoker/PHP /usr/share/php/
sudo cp -r php-text-template/Text /usr/share/php/
sudo cp -r php-timer/PHP /usr/share/php/
sudo cp -r php-token-stream/PHP /usr/share/php/
sudo cp -r phpunit/PHPUnit /usr/share/php/
sudo cp -r phpunit-mock-objects/PHPUnit /usr/share/php/
sudo cp -r phpunit-selenium/PHPUnit /usr/share/php/
sudo cp -r phpunit-story/PHPUnit /usr/share/php/
sudo cp -r phpunit/phpunit.php /usr/share/php/
但这没有任何帮助。现在我到处都是一堆垃圾:\
版本信息:
PEAR Version: 1.9.4
PHP Version: 5.3.6-13ubuntu3.3
Zend Engine Version: 2.3.0
PHPUnit 3.6.9 by Sebastian Bergmann.
Installed packages, channel pear.phpunit.de:
============================================
Package Version State
File_Iterator 1.3.1 stable
PHPUnit 3.6.9 stable
PHPUnit_MockObject 1.1.1 stable
PHP_CodeCoverage 1.1.1 stable
PHP_Invoker 1.1.0 stable
PHP_Timer 1.0.2 stable
PHP_TokenStream 1.1.2 stable
Text_Template 1.1.1 stable
你可以试试这个,我已经在我的 Ubuntu 12.04 上完成了
- sudo pear 卸载 phpunit/PHPUnit
- sudo pear uninstall pear.phpunit.de/PHPUnit_MockObject
- sudo pear install pear.phpunit.de/PHPUnit_MockObject
- sudo pear install --alldeps pear.phpunit.de/PHPUnit
我尝试过很多其他方法。当我收到错误消息时,这会起作用。
hegaofeng@ubuntu:~$ phpunit
PHP 警告: require_once(PHPUnit/Framework/MockObject/Autoload.php): 无法打开 >?>stream: 第 48 行 /usr/share/php/PHPUnit/Autoload.php 中没有这样的文件或目录
PHP 致命错误:require_once(): 在 /usr/share 中打开必需 >'PHPUnit/Framework/MockObject/Autoload.php' >(include_path='.:/usr/share/php:/usr/share/pear') 失败/php/PHPUnit/Autoload.php > 第 48 行
hegaofeng@ubuntu:~$ cd /usr/share/php/
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)