16:45 2015/12/8
phpunit测试学习 1:一点简单的扼要有用的东西的总结 一点入门认识
具体的入门安装和入门实践请参照文中的推荐博客或网上其他博客
推荐博客,我感觉这几篇博客写得很不错,虽然一和二可以结合在一起,内容并不多
且给新手更容易带来学习信心:
安装建议参照我的另一篇安装博客,因为当时我是按照这种方式失败的,文中提及网
络原因导致失败,我当时显示的是安装的某个路径似乎没有维护了,那个url已经不存
在了(所以我也不知道是网络原因还是真的那个路径不存在了)(PHP教程:PHPUnit学习
笔记(一)PHPUnit介绍及安装:http://be-evil.org/phpunit-study-note-
introduction-and-install.html)
PHP教程:PHPUnit学习笔记(二)PHPUnit基本用法:http://be-evil.org/phpunit-
study-note-basic-use.html
阶段三,四在阶段二文章的底部有推荐链接,请自行进入学习
PHPUnit可以实现测试方法的依赖关系
class ArrayTest extends PHPUnit_Framework_TestCase 继承于
PHPUnit_Framework_TestCase,进一步实现模块测试
@depends:依赖关系通过注释@depends来定义,如果某个测试方法依赖的方法测试没
有功过,那么PHPUnit会自动跳过后面所有的依赖测试
@dataProvider: dataProvider标签标注给它提供数据的方法名,定义之后PHPUnit会
自动的将数据提供者方法返回的数据依次传入到测试方法中测试.
有个实例:和前一个例子实现的测试内容相同,但是数据提供者返回
的是一个迭代器对象而不是是数组(即是对象内的数据提供方法返回一个new的新对
象---即是这个类的对象)
检查异常: PHPUnit中,我们有3种方式来检查异常是否抛出
@expectedException: 方法一: 注释法, 用@expectedException 标定期待的异常
$this->setExpectedException: 方法二: 设定法,使用 $this-
>setExpectedException 设定期待的异常
try catch + fail: 方法三: try catch + fail法
有时候我们的代码在运行时会出现php错误,如整除0,文件不存在等等
PHPUnit中,它会自动把错误转换为异常PHPUnit_Framework_Error并抛出,我们只需要
在测试方法中设定抓取这个异常即可:
实例:
/**
* @expectedException PHPUnit_Framework_Error // 期待
PHPUnit_Framework_Error的异常
*/
function test (){.....}
断言(Assertions)是PHPUnit提供的一系列对程序执行结果测试的方法。通俗的讲,就
是断言执行程序结果为我们期待的值
assertArrayHasKey(mixed $key, array $array[, string $message = ''])
断言数组$array含有索引$key, $message用于自定义输出的错误信息,后同