我有以下示例测试代码(PHP4)我需要使用phpunit
:
<?php
require_once 'PHPUnit/Framework.php';
class RemoteConnectTest extends PHPUnit_Framework_TestCase
{
public function setUp(){ }
public function tearDown(){ }
public function testConnectionIsValid()
{
$this->assertTrue(true);
}
}
?>
不与phpunit
一起运行:
PHP Fatal error: require_once(): Failed opening required 'PHPUnit/Framework.php' ...
我如何设置我的环境才能使其工作(Linux,Ubuntu 12.04)?我需要设置搜索路径吗?改变php.ini
?我无法自行更改测试代码。
答案 0 :(得分:1)
答案是使用的版本之间不兼容。较新版本的phpunit
确实有不同的内部设置(see example for 3.7 here),这些设置与较旧的phpunit
版本不同。
需要'降级'phpunit
,例如如下:
sudo pear uninstall phpunit/PHPUnit
sudo pear install phpunit/PHPUnit-3.2.8
例如,安装版本3.2.8。可以验证文件Framework.php
:
> ls /usr/share/php/PHPUnit
Extensions Framework Framework.php Runner TextUI Util
示例代码现在应该在被称为
时起作用phpunit SimpleTest.php
(假设类和文件的名称相同[当然不包括php
])。
答案 1 :(得分:0)
由于您可以从命令行运行phpunit,因此您很可能已经使用PEAR安装了源代码(或者编写器,这种可能性较小)。但框架的路径不在全局包含路径中(或在系统变量PATH中)。
PHPUnit的路径通常在PEAR中。而PEAR通常靠近php安装。您始终可以使用
在终端中使用全局文件搜索 find / -name 'Framework.php' 2>/dev/null
您需要