• [织梦吧]唯一域名:www.dedecms8.com,织梦DedeCMS学习平台.

当前位置: > 编程与数据库 > php编程 >

初探PHP单元测试利器:PHPUnit(2)

来源: www.dedecms8.com 编辑:织梦吧 时间:2012-02-07点击:

  LessThanOrEqual(小于等于).

  AssertContains 判断输入是否包含指定的值

  AssertType 判断是否属于指定类型

  AssertNull 判断是否为空值

  AssertFileExists 判断文件是否存在

  AssertRegExp 根据正则表达式判断

 

  举个例子来说明下比如AssertType的使用,依然以上面的例子来说,可以用AssertType去判断returnSampleObject返回的对象实例是否为remoteConnect,代码如下:

 

  function testIsRightObject() {

  $connObj = new RemoteConnect();

  $returnedObject = $connObj->returnSampleObject();

  $this->assertType('remoteConnect', $returnedObject);

  }

  ?>

 

  目前PHP框架对单元测试的支持

  目前很多优秀的PHP框架(如Zend Framework,Symfony等),都提供了对单元测试很好的支持。以Zend Framework为例,说明下其中是如何运行单元测试的。

 

  class CommentControllerTest extends Zend_Test_PHPUnit_ControllerTestCase

  {

  public function setUp()

  {

  parent::setUp();

  }

  public function tearDown()

  {

  parent::tearDown();

  }

  public function appBootstrap()

  {

  $this->frontController->registerPlugin(new Initializer('test'));

  }

  public function testGoHome()

  {

  $this->dispatch('/home');

  $this->assertController('home');

  }

  }

  ?>

 

  以上代码其实是对Zend本身的框架进行了一个单元测试而已,可以看到,在Zend中,是通过继承Zend_Test_PHPUnit_ControllerTestCase去对Zend的controller去进行单元测试的,可以看到,在zend中的单元测试跟PHPUnit中的差不多,但增加了另外一些新的断言,比如上面的assertController,具体的可以参考Zend的参考手册。

  PHPUnit是一个轻量级的PHP测试框架。它是在PHP5下面对JUnit3系列版本的完整移植,是xUnit测试框架家族的一员(它们都基于模式先锋Kent Beck的设计)。

  单元测试是几个现代敏捷开发方法的基础,使得PHPUnit成为许多大型PHP项目的关键工具。这个工具也可以被Xdebug扩展用来生成代码覆盖率报告 ,并且可以与phing集成来自动测试,最后它还可以和Selenium整合来完成大型的自动化集成测试。

About D8

  • ©2014 织梦吧(d8) DedeCMS学习交流平台
  • 唯一网址 www.DedeCMS8.com 网站地图
  • 联系我们 1170734538@qq.com ,  QQ