Cent OS 5.5 安裝 PHP 5.3 + PHPUnit 3.4 (教學備忘筆記)

会写code的凳子哥 2011-04-11

个人技术博客:http://www.cooli.cc/

CentOS5.5安裝PHP5.3+PHPUnit3.4(教學備忘筆記)Posted:3rd九月2010bysjin程式設計-Programming,資訊科技-InfromationTechnology

Tags:PHP,Web2PHPUnit介紹

PHPUnit是目前在PHPProgramming中最主流的測試框架,包括ZendFramework所使用的Zend_Test的底層也是交由PHPUnit來完成。為什麼需要測試框架呢?主要的原因為強化系統設計品質,然而將測試工作自動化是很重要的,在持續整合(CI,ContinuousIntegration)的範疇中也提到自動化測試的重要。我認為這些單元測試的框架與工具,都是測試驅動開發(TDD,Test-DrivenDevelopment)所帶來的產物,單元測試也引導我們程式設計師將程式撰寫為鬆偶合(依賴性低)的優異程式碼。藉由單元測試的進行,無形中能夠提升軟體品質,這也是單元測試的最大目的。

安裝PHPUnit

PHPUnit官方網站如下:

http://www.phpunit.de/

官方有提供完整的安裝手冊如下:

http://www.phpunit.de/manual/3.4/en/installation.html

手冊上聲明PHPUnit3.4需要PHP5.3.3以上的版本,我想可能也用到了PHPNamespace這項功能吧(只是猜測)。

PHPUnit3.4requiresPHP5.1.4(orlater)butPHP5.3.3(orlater)ishighlyrecommended.

很遺憾的,CentOS5.5提供的PHP版本為5.1.x,所以我只好先升級PHP囉。步驟僅需執行以下指令(機器需可以連上網路喔):

先移除舊版5.1.x

[root$cent ~]# yum remove php

新增Repository與yum安裝

[root$cent ~]# rpm -ivh http://repo.webtatic.com/yum/centos/5/`uname -i`/webtatic-release-5-1.noarch.rpm
[root$cent ~]# yum --enablerepo=webtatic install php

完成以後就可以安裝PHPUnit囉,我們依照官方文件先安裝PEAR,安裝方法實在太太簡單了,如下:

[root$cent ~]# yum install php-pear

安裝完後請輸入以下指令繼續安裝PHPUnit:

[root$cent ~]# pear channel-discover pear.phpunit.de  

[root$cent ~]# pear channel-discover pear.symfony-project.com  

[root$cent ~]# pear install phpunit/PHPUnit

這樣安裝完成了,PHPUnit預設會被裝在/usr/local/lib/php/PHPUnit這裡,安裝過程如下:

快樂撰寫第一支TestCase

建立/tmp/StackTest.php檔案,內容如下:

<?php  
 require_once '/usr/local/lib/php/PHPUnit/Framework.php';  
 class StackTest extends PHPUnit_Framework_TestCase  
 {  
 public function testPushAndPop()  
 {  
 $stack = array();  
 $this-&gt;assertEquals(0, count($stack));  
 array_push($stack, 'foo');  
 $this-&gt;assertEquals('foo', $stack[count($stack)-1]);  
$this-&gt;assertEquals(1, count($stack));  
$this-&gt;assertEquals('foo', array_pop($stack));  
$this-&gt;assertEquals(0, count($stack));  
 }  
}  
?>

執行phpunitStackTest.php來進行測試,畫面如下:

整的過程蠻容易的,下一個階段來進行CI與整合NightlyBuild,體驗一下自動化測試的優點。

本文来源http://blog.toright.com/?p=688

相关推荐