> CentOS > CentOS教程 >

Centos5.4下安装PHPUnit

PHPUnit之于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 安装成功!如果以上命令执行不成功:

 

 

1、用 find / -name php找到php可执行文件所在的位置;

2、可以试着在命令开始加上sudo,或者用su root切换到root用户。

 

二、安装phpunit

 

下面用 pear 来安装phpunit。下面的安装过程可能会提示没有找到pear,那是因为pear没有加入到环境变量中。我的解决方法是:

 

1、用 find / -name pear 找到pear所在的位置

2、输入这条语句 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

 

三、使用PHPUnit

 

例子:hello.php

 

 

<?php  
  1. class hello_test extends PHPUnit_Framework_TestCase  
  2. {  
  3.     public function test_equal()  
  4.     {  
  5.         $stack = array();  
  6.         $this->assertEquals(0,123);    //判断0和123是否相等   
  7.     }  
  8. }  
  9. ?>  

phpunit hello.php 看到OK,表示成功,否则……

 

 

但是我这边报错没有找到phpunit,当发现不是路径问题时,找到如下解决方法

 

 

 
  1. pear update-channels  
  2.    
  3. pear upgrade-all   
 

 

完了之后安装: 

 

 

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   


 

然后再次执行

 

 

pear install –alldeps phpunit/PHPUnit   

 

这回成功了

 

四、总结

 

在这里我与大家分享了我在自己虚拟机上安装PHPUnit时从失败到成功的过程。失败主要是因为找不到可执行文件缺,或者少某些依赖库;失败也可能是工具与系统的版本有高有低相互不兼容。

 

前面分享的例子中使用了断言值相等的assertEquals,当然PHPUnit中还自带了不少其它的断言方法,如assertEmpty assertTrue ……

(责任编辑:IT)