您的位置:軟件測(cè)試 > 開(kāi)源軟件測(cè)試 > 開(kāi)源單元測(cè)試工具 > PHPUnit
教你用phpUnit調(diào)試php程序
作者:網(wǎng)絡(luò)轉(zhuǎn)載 發(fā)布時(shí)間:[ 2013/3/26 16:05:32 ] 推薦標(biāo)簽:

   調(diào)試程序是一個(gè)漫長(zhǎng)的過(guò)程,程序越長(zhǎng)越復(fù)雜,調(diào)試起來(lái)愈加困難。如果你調(diào)試的是php程序,那么不妨采用phpUnit,它可以大大加快你的調(diào)試速度。
  
    何謂PhpUnit
  
    Phpunit 脫胎于Fred Yankowski編寫(xiě)的著名的Junit測(cè)試框架。你可以利用phpUnit編寫(xiě)一套測(cè)試軟件包。保證你的程序代碼正確無(wú)誤。只需一步便可自動(dòng)完成所有的測(cè)試。
  
    如果監(jiān)測(cè)到bug,你可以再寫(xiě)一小段測(cè)試代碼來(lái)找出錯(cuò)誤之所在。日后若再有相同的bug出現(xiàn),只要運(yùn)行你先前的測(cè)試包,馬上可以抓到它。經(jīng)常運(yùn)行測(cè)試包便可以保證你的程序代碼的強(qiáng)壯性。
  
    開(kāi) 始
  
    假設(shè)我們有一個(gè)銀行賬務(wù)處理程序。現(xiàn)在需要為Account (賬戶(hù)) 類(lèi)編寫(xiě)一個(gè)測(cè)試軟件包。
  
    以下是Account類(lèi) 源代碼:
  
    <?php
  
    class Account{
  
    var $balance;
  
    function Account($initialBalance=0){
  
    $this->balance = $initialBalance;
  
    }
  
    function withdraw($amount){
  
    $this->balance -= $amount;
  
    }
  
    function deposit($amount){
  
    $this->balance += $amount;
  
    }
  
    function getBalance(){
  
    return $this->balance;
  
    }
  
    function transferFrom(&$sourceAccount,$amount){
  
    $sourceAccount->withdraw($amount);
  
    $this->deposit($amount);
  
    }
  
    ?>
  
    創(chuàng)建一個(gè)測(cè)試類(lèi)
  
    首先,我們建立一個(gè)測(cè)試類(lèi)AccountTest,它是一個(gè)由PhpUnit提供的TestCase的子類(lèi)。在這個(gè)TestCase類(lèi)中有2個(gè)基本的方法:setUp和tearDown. 這2個(gè)方法的實(shí)現(xiàn)在父類(lèi)中是空過(guò)程,必須由我們自己去重載。其中SetUp 用于進(jìn)行AccountTest類(lèi)的初始化處理。在本例中,我們對(duì)一些在測(cè)試中用到的賬號(hào)進(jìn)行初始化。tearDown 則用于AccountTest類(lèi)的清空處理,在本例中無(wú)需使用。因此,不對(duì)它進(jìn)行重載。這樣AccountTester類(lèi)的源代碼如下:
  
    <?php
  
    class AccountTester extends TestCase{
  
    var $_ac1;
  
    var $_ac2;
  
    var $_ac3;
  
    var $_ac4;
  
    function AccountTester($name){
  
    $this->TestCase($name); // call parent constructor
  
    }
  
    function setUp(){
  
    $this->_ac1 = new Account(100); // data for testWithdraw
  
    $this->_ac2 = new Account(20); // data for testDeposit
  
    $this->_ac3 = new Account(30); // data for testTransferFrom
  
    $this->_ac4 = new Account(50);
  
    }
  
    }

    ?>

上一頁(yè)12下一頁(yè)
軟件測(cè)試工具 | 聯(lián)系我們 | 投訴建議 | 誠(chéng)聘英才 | 申請(qǐng)使用列表 | 網(wǎng)站地圖
滬ICP備07036474 2003-2017 版權(quán)所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd