轉自:http://www.cnblogs.com/bourneli/articles/2447155.htmlphp
phpunit源代碼下載:http://pear.phpunit.de/html
如何配置linux
配置開始前,首先設置一些符號bash
配置過程以下:單元測試
1. 下載phpunit源代碼,下載地址:http://pear.phpunit.de/測試
2. 解壓PHPUnit到機器任意目錄,我的建議解壓到$PHP_HOME/lib目錄下,這樣便於管理全部的第三方php庫。假設已經解壓後的$PHPUNIT_HOME設爲$PHP_HOME/lib/PHPUnit-3.4.10ui
3. 修改$PHPUNIT_HOME /phpunit.php文件,以下所示:this
上面的代碼中,被修改的地方由紅色高亮顯示,修改內容主要是去除了if判斷語句,直接執行if內部的語句,具體緣由見下節分析。命令行
4. 將$PHPUNIT_HOME/ phpunit.php文件名稱修改成$PHPUNIT_HOME/ phpunit。3d
5. 設置環境變量PATH,將目錄$PHPUNIT_HOME/添加到PATH中。好比,能夠修改~/.bashrc文件,而後source ~/.bashrc使修改生效,修改後的~/.bashrc文件以下:
配置完成,是否是很簡單!
驗證PHPUnit
配置PHPUnit後,能夠在任意目錄下輸入phpunit命令,以下所示:
出現了上面的提示,說明你的phpunit就配置好了,接下來,能夠經過一段示例代碼,體驗phpunit的功能。StackTest.php以下所示:
<?php
class StackTest extends PHPUnit_Framework_TestCase
{
public function testPushAndPop()
{
$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));
}
}
?>
保存好StackTest.php後,在命令行輸入phpunit StackTest.php,就能夠運行phpunit,進行單元測試,以下所示:
這樣,你的第一個PHPUnit單元測試就執行成功了,該測試用的5個斷言所有經過。
配置分析
這裏須要分析一下配置過程當中的第3步——修改phpunit代碼。此處將if出去,直接執行if內部的語句「set_include_path(dirname(__FILE__) . PATH_SEPARATOR . get_include_path());」,此段代碼是將$PHPUNIT_HOME目錄臨時添加到php.ini文件中的「include_path」字段的值中,這樣php程序就能夠查找到全部phpunit相關的文件。若是不執行第3步的修改,if語句中的條件有可能爲false,致使沒有設置php.ini的include_path,那麼執行phpunit時,php沒法找到其餘相關文件,就會報告相似「require_once沒法找到文件…」的錯誤。
配置過程的第4,5步是爲了使得linux系統能夠識別phpunit命令,這樣就能夠在linux的任意目錄下執行phpunit命令。