之于PHP正如JUnit之于Java,是PHP程序员用来写单元测试代码的工具。由于上级要求员工写代码时也要写单元测试代码,于是我在网上搜集相关资料,并整理了一套符合自己虚拟机环境的PHPUnit安装方法。
要求:
系统:centos5.4
PHP版本:php5.3.
一、安装Pear
pear。安装命令如下:
1. wget http://pear.php.net/go-pear.phar
2.
3. /usr/local/php5.3/bin/php go-pear.phar
pear
安装成功!如果以上命令执行不成功
:
find / -name php找到php可执行文件所在的位置;
sudo,或者用su root切换到root用户。
二、安装phpunit
pear 来安装phpunit。下面的安装过程可能会提示没有找到pear,那是因为pear没有加入到环境变量中。我的解决方法是:
find / -name pear 找到pear所在的位置
export PATH="$PATH:/usr/local/php5.3/bin/pear"
1. pear channel-discover pear.phpunit.de
2. pear channel-discover components.ez.no
3. pear channel-discover pear.symfony-project.com
4. pear upgrade-all
5. pear install phpunit/PHPUnit
6.
在安装的过程中可能会出现依赖包,按照提示信息进行安装。
:yum install php-dom -y等
。
三、使用PHPUnit
例子:hello.php
1. <?php
2. class hello_test extends PHPUnit_Framework_TestCase
3. {
4. publicfunction test_equal()
5. {
6. $stack = array();
7. $this->assertEquals(0,123); //判断0和123是否相等
8. }
9. }
10. ?>
phpunit hello.php
看到
OK
,表示成功,否则……
phpunit,当发现不是路径问题时,找到如下解决方法
1. pear update-channels
2.
3. pear upgrade-all
完了之后安装:
1. pear install –alldeps phpunit/PHPUnit
结果报错了:
Unknownremote channel: pear.symfony.com
phpunit/PHPUnit requires package"channel://pear.symfony.com/Yaml" (version >= 2.1.0)
Google一下,找到一个有用的解决方案:
1. 1 pear channel-discover pear.symfony.com
2. 2 pear install pear.symfony.com/Yaml
然后再次执行
1. pear install –alldeps phpunit/PHPUnit
这回成功了
四、总结
PHPUnit时从失败到成功的过程。失败主要是因为找不到可执行文件缺,或者少某些依赖库;失败也可能是工具与系统的版本有高有低相互不兼容。
中还自带了不少其它的断言方法,如assertEmpty assertTrue ……