我在SO上浏览过类似的问题,但无济于事。我正在运行PHP 5.3.6和phpunit版本3.6.10。尝试执行简单测试时:
require_once 'PHPUnit/Framework.php';
class UserTest extends PHPUnit_Framework_TestCase {
}
我收到以下错误:
PHP Fatal error: require_once(): Failed opening required 'PHPUnit/Framework.php'
(include_path='.:/Users/username/pear/share/pear:/usr/lib/php/pear/:/Users/username/pear/share/pear/PHPUnit') in ...
重新安装PHPUnit时,我不确定安装位置是否重复,但似乎在运行which phpunit
时,路径为:/usr/bin/phpunit
。但是,它似乎也安装在/Users/user/pear/bin/phpunit
中。
我已经尝试更新所有通道并重新安装PEAR和PHPUnit,但问题仍然存在。我在OSX Lion上运行。任何帮助将不胜感激。
答案 0 :(得分:15)
只需删除
行即可require_once 'PHPUnit/Framework.php';
一切都应该有效。
您不需要include/require
任何与PHPUnit相关的内容(至少)PHPUnit 3.6
,并且您不能包含该文件,因为它在分发中不再存在。< / p>
phpunit运行器将负责引导PHPUnit所需的一切:)
答案 1 :(得分:1)
正如其他人所指出的那样,不再需要Framework.php了。
但无论如何,如果您已经编写了太多的测试文件并且使用了include语句,那么修复它们将是一项繁琐的任务。这是我必须面对的情况。
如果需要快速解决方法,请创建一个空的Framework.php文件。这将解决问题。 在PHPUnit目录下创建一个名为Framework.php的空文件。 (例如:at:/usr/share/php/PHPUnit/Framework.php)。
sudo touch /usr/share/php/PHPUnit/Framework.php