您的位置:软件测试 > 开源软件测试 > 开源单元测试工具 > PHPUnit
教你用phpUnit调试php程序
作者:网络转载 发布时间:[ 2013/3/26 16:05:32 ] 推荐标签:

   调试程序是一个漫长的过程,程序越长越复杂,调试起来愈加困难。如果你调试的是php程序,那么不妨采用phpUnit,它可以大大加快你的调试速度。
  
    何谓PhpUnit
  
    Phpunit 脱胎于Fred Yankowski编写的着名的Junit测试框架。你可以利用phpUnit编写一套测试软件包。保证你的程序代码正确无误。只需一步便可自动完成所有的测试。
  
    如果监测到bug,你可以再写一小段测试代码来找出错误之所在。日后若再有相同的bug出现,只要运行你先前的测试包,马上可以抓到它。经常运行测试包便可以保证你的程序代码的强壮性。
  
    开 始
  
    假设我们有一个银行账务处理程序。现在需要为Account (账户) 类编写一个测试软件包。
  
    以下是Account类 源代码:
  
    <?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);
  
    }
  
    ?>
  
    创建一个测试类
  
    首先,我们建立一个测试类AccountTest,它是一个由PhpUnit提供的TestCase的子类。在这个TestCase类中有2个基本的方法:setUp和tearDown. 这2个方法的实现在父类中是空过程,必须由我们自己去重载。其中SetUp 用于进行AccountTest类的初始化处理。在本例中,我们对一些在测试中用到的账号进行初始化。tearDown 则用于AccountTest类的清空处理,在本例中无需使用。因此,不对它进行重载。这样AccountTester类的源代码如下:
  
    <?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);
  
    }
  
    }

    ?>

上一页12下一页
软件测试工具 | 联系我们 | 投诉建议 | 诚聘英才 | 申请使用列表 | 网站地图
沪ICP备07036474 2003-2017 版权所有 上海泽众软件科技有限公司 Shanghai ZeZhong Software Co.,Ltd