PHP单元测试利器 PHPUNIT深入用法(三)第1/2页

在本文中,笔者将为大家介绍phpunit中的两个高级概念和用法,尽管它不一定在你的日常单元测试中都用到,但理解和学会它们的用法对学习phpunit还是十分重要的。

  Phpunit中的Annotations

  如果有其他编程语言经验的开发者,应该对Annotations(注解)不陌生,其实在phpunit中,一个简单的如下面的一段注释也可以认为是Annotations:

PHP单元测试利器 PHPUNIT深入用法(三)第1/2页

<?php

PHP单元测试利器 PHPUNIT深入用法(三)第1/2页

class MyTestClass extends PHPUnit_Framework_TestCase

PHP单元测试利器 PHPUNIT深入用法(三)第1/2页

{

PHP单元测试利器 PHPUNIT深入用法(三)第1/2页

/**

PHP单元测试利器 PHPUNIT深入用法(三)第1/2页

* Testing the answer to “do you love unit tests?”

PHP单元测试利器 PHPUNIT深入用法(三)第1/2页

*/

PHP单元测试利器 PHPUNIT深入用法(三)第1/2页

publicfunction testDoYouLoveUnitTests()

PHP单元测试利器 PHPUNIT深入用法(三)第1/2页

{

PHP单元测试利器 PHPUNIT深入用法(三)第1/2页

$love=true;

PHP单元测试利器 PHPUNIT深入用法(三)第1/2页

$this->assertTrue($love);

PHP单元测试利器 PHPUNIT深入用法(三)第1/2页

}

PHP单元测试利器 PHPUNIT深入用法(三)第1/2页

}

PHP单元测试利器 PHPUNIT深入用法(三)第1/2页

?>

  可以看到,其实一段以/** **/为标记的文字,就可以认为是一种Annotations,但Annotations其实不单单是简单的注释,它是与一个程序元素相关联信息或者元数据的标注,它不影响程序的运行,但相关的软件工具或框架能够将其转换成特殊的元数据标记,以方便开发者以更少的代码去提高效率(比如通过。如果你熟悉Java,则会发现在Java SE 5中及象Spring等框架中,都大量使用了Annotations。

  然而,由于php并不象Java那样是编译性语言,因此本身缺乏去解析Annotations的机制,但幸好phpunit去提供了这样的功能,我们以下面的代码为例:

PHP单元测试利器 PHPUNIT深入用法(三)第1/2页

<?php

PHP单元测试利器 PHPUNIT深入用法(三)第1/2页

class MyMathClass

PHP单元测试利器 PHPUNIT深入用法(三)第1/2页

{

PHP单元测试利器 PHPUNIT深入用法(三)第1/2页

/**

PHP单元测试利器 PHPUNIT深入用法(三)第1/2页

* Add two given values together and return sum

PHP单元测试利器 PHPUNIT深入用法(三)第1/2页

*/

PHP单元测试利器 PHPUNIT深入用法(三)第1/2页

publicfunction addValues($a,$b)

PHP单元测试利器 PHPUNIT深入用法(三)第1/2页

{

PHP单元测试利器 PHPUNIT深入用法(三)第1/2页

return$a+$b;

PHP单元测试利器 PHPUNIT深入用法(三)第1/2页

}

PHP单元测试利器 PHPUNIT深入用法(三)第1/2页

}

PHP单元测试利器 PHPUNIT深入用法(三)第1/2页

?>

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/0a8f869e2ee23fea7f0df27a869958cf.html