安裝 PHPUnit

PHP檔案包(PHAR)

要獲取 PHPUnit,最簡單的方法是下載 PHPUnit 的 PHP 檔案包(PHAR),它將 PHPUnit 所須要的全部依賴組件(包括某些可選的組件)捆綁在單個文件中:php

wget https://phar.phpunit.de/phpunit.phar chmod +x phpunit.pharmv phpunit.phar /usr/local/bin/phpunit

固然,你也能夠下載後直接使用這個 PHAR:web

wget https://phar.phpunit.de/phpunit.pharphp phpunit.phar

Composer

若是你用 Composer 來管理項目的依賴關係,只須要簡單的在項目的 composer.json 文件中加上一個對 phpunit/phpunit 的依賴關係便可。下面是一個最小化的 composer.json 文件的例子,只定義了一個對 PHPUnit 4.0 的開發時(development-time)依賴:數據庫

{
    "require-dev": {
        "phpunit/phpunit": "4.0.*"
    }}

要經過 Composer 完成系統級的安裝,能夠運行:json

composer global require 'phpunit/phpunit=4.0.*'

請確保 path 變量中包含有 ~/.composer/vendor/bin/composer

PEAR

使用 PEAR 安裝程序來安裝 PHPUnit 只須要執行如下兩個指令(可能須要以 root 權限運行):框架

pear config-set auto_discover 1pear install pear.phpunit.de/PHPUnit

當心

根據你的操做系統版本與PHP環境的具體狀況,有可能須要先安裝 PEAR 或者更新已安裝的 PEAR 以後才能按照這裏的指南來操做。ide

通常用 sudo pear upgrade PEAR 就能完成對已安裝 PEAR 的升級。PEAR 手冊則解說了如何對 PEAR 進行全新安裝。工具

可選的組件包

有如下可選組件包可用:性能

  • DbUnit測試

  • 移植到 PHP/PHPUnit 上的 DbUnit 用於提供對數據庫交互測試的支持。

    若要經過 PEAR 安裝此組件包,使用以下指令:

    pear install phpunit/DbUnit

    若要經過 Composer 安裝此組件包,添加以下 "require-dev" 依賴項:

    "phpunit/dbunit": ">=1.2"
  • PHP_Invoker

  • 一個工具類,能夠用帶有超時限制的方式調用可調用內容。當須要在嚴格模式下保證測試的超時限制時,這個組件包是必須的。

    要安裝此組件包,使用以下指令:

    pear install phpunit/PHP_Invoker

    若要經過 Composer 安裝此組件包,添加以下 "require-dev" 依賴項:

    "phpunit/php-invoker": "*"
  • PHPUnit_Selenium

  • 將 Selenium RC 集成於 PHPUnit。

    若要經過 PEAR 安裝此組件包,使用以下指令:

    pear install phpunit/PHPUnit_Selenium

    若要經過 Composer 安裝此組件包,添加以下 "require-dev" 依賴項:

    "phpunit/phpunit-selenium": ">=1.2"
  • PHPUnit_Story

  • 使用PHPUnit進行行爲驅動開發時所使用的基於故事的測試運行器。

    若要經過 PEAR 安裝此組件包,使用以下指令:

    pear install phpunit/PHPUnit_Story

    若要經過 Composer 安裝此組件包,添加以下 "require-dev" 依賴項:

    "phpunit/phpunit-story": "*"
  • PHPUnit_SkeletonGenerator

  • 一個工具,用於從成品代碼類中生成骨架測試類,或反之。

    要安裝此組件包,使用以下指令:

    pear install phpunit/PHPUnit_SkeletonGenerator
  • PHPUnit_TestListener_DBUS

  • 一個發送事件給 DBUS 的測試監聽器(TestListener)。

    要安裝此組件包,使用以下指令:

    pear install phpunit/PHPUnit_TestListener_DBUS
  • PHPUnit_TestListener_XHProf

  • 一個利用 XHProf 來對測試的代碼進行自動性能剖析的測試監聽器(TestListener)。

    要安裝此組件包,使用以下指令:

    pear install phpunit/PHPUnit_TestListener_XHProf
  • PHPUnit_TicketListener_Fogbugz

  • 一個與Fogbugz系統的問題API交互的任務單(ticket)監聽器。

    要安裝此組件包,使用以下指令:

    pear install phpunit/PHPUnit_TicketListener_Fogbugz
  • PHPUnit_TicketListener_GitHub

  • 一個與GitHub系統的問題API交互的任務單(ticket)監聽器。

    要安裝此組件包,使用以下指令:

    pear install phpunit/PHPUnit_TicketListener_GitHub
  • PHPUnit_TicketListener_GoogleCode

  • 一個與Google Code系統的問題API交互的任務單(ticket)監聽器。

    要安裝此組件包,使用以下指令:

    pear install phpunit/PHPUnit_TicketListener_GoogleCode
  • PHPUnit_TicketListener_Trac

  • 一個與Trac系統的問題API交互的任務單(ticket)監聽器。

    要安裝此組件包,使用以下指令:

    pear install phpunit/PHPUnit_TicketListener_Trac

  使用方法

安裝好以後進入到咱們測試的根目錄test目錄下,輸入phpunit,若是安裝成功,會出現使用說明:

 

固然,不少狀況輸入phpunit,會顯示command not found. 別急,解決方法:

輸入命令:

pear config-get bin_dir

會提示出咱們安裝後執行文件所在的目錄,記下這個地址,將其加入到系統的環境變量中:

export PATH=<dir you got from pear config-get>:$PATH

再次輸入phpunit會成功顯示上面的信息。

 

  1. 測試用例寫法

下面咱們來用一個例子說明具體如何將phpunit投入實際開發中,在test文件夾下新建一個test.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));

     }

 

?>

升級

此部分收集了從 PHPUnit 3.7 升級到 PHPUnit 4.0 時可能遭遇的一些小的向後兼容問題。

升級應當是十分簡單且不會遭遇任何問題的,由於這個過程已經針對全部主要的開源框架進行過測試而且不存在任何問題。可是每一個項目畢竟是各有不一樣的,若是你已經嘗試了某個候選發佈版本而且遭遇到了問題,本文檔也許能提供一些幫助。

相關文章
相關標籤/搜索