PHPUnit安裝(無需PEAR)

轉自:http://www.cnblogs.com/bourneli/articles/2447155.htmlphp

 

phpunit源代碼下載:http://pear.phpunit.de/html

 

如何配置linux

配置開始前,首先設置一些符號bash

  • $PHP_HOME PHP安裝目錄
  • $PHPUNIT_HOME PHPUnit安裝目錄

 

配置過程以下:單元測試

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

 

image

 

上面的代碼中,被修改的地方由紅色高亮顯示,修改內容主要是去除了if判斷語句,直接執行if內部的語句,具體緣由見下節分析。命令行

 

4. 將$PHPUNIT_HOME/ phpunit.php文件名稱修改成$PHPUNIT_HOME/ phpunit。3d

 

5. 設置環境變量PATH,將目錄$PHPUNIT_HOME/添加到PATH中。好比,能夠修改~/.bashrc文件,而後source ~/.bashrc使修改生效,修改後的~/.bashrc文件以下:

clip_image002

配置完成,是否是很簡單!

 

驗證PHPUnit

配置PHPUnit後,能夠在任意目錄下輸入phpunit命令,以下所示:

clip_image004

 

出現了上面的提示,說明你的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,進行單元測試,以下所示:

clip_image006

這樣,你的第一個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命令。

相關文章
相關標籤/搜索