PHPUnit入门(二)


如果你已经安装好PHPUnit了,那么就继续开始吧。

<?php
require_once'PHPUnit/Framework.php';
classArrayTestextendsPHPUnit_Framework_TestCase
{
  protected$fixture;
  protectedfunctionsetUp()
  {
    //CreatetheArrayfixture.
    $this->fixture=array();
  }
  publicfunctiontestNewArrayIsEmpty()
  {
    //AssertthatthesizeoftheArrayfixtureis0.
    $this->assertEquals(0,sizeof($this->fixture));
  }
  publicfunctiontestArrayContainsAnElement()
  {
    //AddanelementtotheArrayfixture.
    $this->fixture[]='Element';
    //AssertthatthesizeoftheArrayfixtureis1.
    $this->assertEquals(1,sizeof($this->fixture));
  }
}
?>

  这是一个测试文件,注意文件名叫ArrayTest.php。在命令行运行phpunit ArrayTest.php,如果显示ok的话,就恭喜你了。setUp()是每次调用测试用例之前调用的方法,用于重置一些变量,方便测试。其实上面的东西照着手册就可以做到了,所以这并不是重点。对于一个项目来说,可能有许多模块,怎么组织这些模块测试就成了一个问题,除非你把所有的东西写在一起,其实那样也挺有难度的。所以在PHPUnit测试里面有帮你组织测试的功能。代码我就不帖了,在这。如果你得懂,就不用再继续看下去了。

  在AllTests中定义了两个静态方法,Framework_AllTest也是同样的,区别在于,Framework_AllTest添加了ArrayTest.php这个测试文件。

  在AllTests的开始定义了一个常量,并在类的下方对这个常量进行了判断。假如你是从这个文件开始运行的,那个就会定义这个常量,通过常量的判断运行main()这个静态方法,而这个静态方法调用suite()方法,来加载测试套件。这样就能给测试用例很大的灵活性,你可以一起跑所有的测试,也可以只测试某一个用例文件。


« 
» 
快速导航

Copyright © 2016 phpStudy | 豫ICP备2021030365号-3