PHPUnit是zend官方大力支持的测试框架,高质量的单元测试时保证项目质量的基础,能够有效的减少BUG,改善程序。
安装PHPUnit:
在php的目录下:
复制代码 代码如下:
pear channel-discover pear;
pear install phpunit/PHPUnit
windows下将php的环境变量加入到PATH环境变量中。
简单使用:
复制代码 代码如下:
class StackTest extends PHPUnit_Framework_TestCase
{
public function testArray()
{
$stack = array();
$this->assertEquals(0, count($stack));
array_push($stack, 'foo');
$this->assertEquals('foo', $stack[count($stack)-1]);
$this->assertEquals(1, count($stack));
$this->assertEquals('foo', array_pop($stack));
$this->assertEquals(0, count($stack));
}
/**
* @test
*/
public function Stringlen()
{
$str = 'abc';
$this->assertEquals(3, strlen($str));
}
}
从上可以看到编写PHPUnit的基本规律:
(1)类Class的测试写在ClassTest中
(2)ClassTest继承PHPUnit_Framework_TestCase
(3)测试方法都是test*格式,也可以通过@test将其标注为测试方法。
(4)通过断言方法assertEquals来对实际值和预期值进行断言。
PHPUnit可以通过PHP扩展和程序库(PEAE)获得。PEAR是可重用PHP组件的框架和分发系统。安装PHPUnit可以通过PEAR安装程序命令获得:
pear install PHPUnit2
根据PEAR的版本命名标准,适用于PHP5的PHPUnit包称为PHPUnit2。PHPUnit是适用于PHP4的包,这在本书后面关于“在PHP4中使用PHPUnit”一章会提到。
安装只有,能够在本地的PEAR目录中找到PHPUnit的源代码,路径通常是/usr/lib/ php/PHPUnit2。
尽管使用PEAR安装程序是PHPUnit唯一支持的安装方法,但你还是可以手工安装。要手工安装,参照以下做法:
1.从pear.php.net/package/PHPUnit2/download下载PHPUnit发布包,然后解压缩,确保目录在php.ini定义的include_path中。
2.准备phpunit脚本
a.将pear-phpunit脚本改名为phpunit
b.将脚本中所有的@php_bin@改名为PHP命令行解释器所在的目录(通常为/usr/bin/ php)。
c.将此脚本拷贝到一个PATH环境变量所包含的目录中,并将文件属性改为可执行(chmod +x phpunit)。
3.将PHPUnit2/ Runner/Version.php脚本中的所有@package_version@字符串替换为你所安装的PHPUnit版本(如2.3.0)。
解决方法
根据上述出错信息,我们可以知道PEAR DB类安装出错问题所在:是由于在重新安装PEAR时,没有更改PEAR的安装目录环境变量PHP_PEAR_INSTALL_DIR,导致PEAR命令无法正常使用。
提示告诉我们可以通过修改pear.bat中的PEAR安装环境变量PHP_PEAR_INSTALL_DIR的值来解决此问题。
右击pear.bat,选择编辑,即可以记事本方式打开此批处理文件。找到
REM Check PEAR global ENV, set them if they do not exist
修改下面的
IF “%PHP_PEAR_INSTALL_DIR%”==”" SET “PHP_PEAR_INSTALL_DIR=E:\phpos\DedeAMPZ\WebRoot\Default\pear”
为
IF “%PHP_PEAR_INSTALL_DIR%”==”E:\phpos\DedeAMPZ\Program\PHP5\pear” SET “PHP_PEAR_INSTALL_DIR=E:\phpos\DedeAMPZ\WebRoot\Default\pear”
即可对PEAR安装环境变量PHP_PEAR_INSTALL_DIR的值进行覆盖。
至此,PHP PEAR在安装时由于PHP_PEAR_INSTALL_DIR(安装目录)值不对,导致无法使用PEAR的问题就解决了。