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

  可以看到,这里使用了注解@dataProvider,指明了测试用例的数据提供者是由provider方法返回的一个数组。所以在单元测试时,数组中的第0个元素则会赋值给$a,第1个元素则会赋值给b,第3个元素则会赋值给sum,可以看到,上面的第3个数组提供的数据是不能通过单元测试的,因为1+5不等于7。

  此外,这里还简单介绍两个常用的annotations,比如@expectedException注解可以测试代码中是否正确抛出了异常,比如:

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

<?phprequire_once 'PHPUnit/Framework.php';

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

class ExceptionTest extends PHPUnit_Framework_TestCase{    

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

/**  

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

   * @expectedException InvalidArgumentException    
*/    

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

publicfunction testException()    {  

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

  }

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

}

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


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

?>

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

  这里就用注解的方法表示testException中必须抛出的异常类型为InvalidArgumentException。

  另外一个是@cover注解。它的作用是标识phpunit只为类中的哪些方法或作用域生成测试代码,比如:

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

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