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用于自定义输出的错误信息,后同

phpunit测试学习 1:一点简单的扼要有用的东西的总结 一点入门认识的更多相关文章

  1. phpunit测试学习 2 分类总结断言涉及哪些方面

    11:27 2015/12/9phpunit测试学习 2,  分类总结断言涉及哪些方面先推荐windows快速打开某处路径下的cmd,进入测试状态:可以在文件夹中,按住Shift+鼠标右键,这时候你就 ...

  2. 第二节 PHPUnit测试的剖析

    现在,让我们仔细看看测试结构的样子. 让我们从一个简单的测试用例开始,它将显示基本的PHPUnit测试结构. 以下代码片段是测试用于排序数组的两个PHP函数的一个非常基本的示例:asort()用于对数 ...

  3. phpunit测试成功 phpunit测试实践代码

    16:12 2015/12/8phpunit测试成功,代码写在www目录下,以类名命名代码文件,我的文件名为 ArrayTest.php,类名为ArrayTest,内部写了简单的测试代码:<?p ...

  4. Web安全测试学习手册-业务逻辑测试

    i春秋作家:Vulkey_Chen 首先感谢朋友倾璇的邀请 http://payloads.online/archivers/2018-03-21/1 ,参与了<web安全测试学习手册>的 ...

  5. Sony深度学习框架 - Neural Network Console - 教程(1)- 原来深度学习可以如此简单

    “什么情况!?居然不是黑色背景+白色文字的命令行.对,今天要介绍的是一个拥有白嫩的用户界面的深度学习框架.” 人工智能.神经网络.深度学习,这些概念近年已经涌入每个人的生活中,我想很多人早就按捺不住想 ...

  6. 一点简单的关于ASP.NET下载

    一点简单的关于ASP.NET下载 个人简单的认为是有两种方法的,第一种就是直接用一个超链接链接到我们要下载的资源就可以了.只是说这个方法会有一点小问题就是,比如像图片或者文本文件这些浏览器是可以自动将 ...

  7. JSP学习笔记(三):简单的Tomcat Web服务器

    注意:每次对Tomcat配置文件进行修改后,必须重启Tomcat 在E盘的DATA文件夹中创建TomcatDemo文件夹,并将Tomcat安装路径下的webapps/ROOT中的WEB-INF文件夹复 ...

  8. 测试redis+keepalived实现简单的主备切换【转载】

    转自: 测试redis+keepalived实现简单的主备切换 - Try My Best 尽力而为 - ITeye技术网站http://raising.iteye.com/blog/2311757 ...

  9. Hibernate二次学习一----------Hibernate简单搭建

    因为博客园自带的markdown不太好用,因此所有markdown笔记都使用cmd_markdown发布 Hibernate二次学习一----------Hibernate简单搭建: https:// ...

随机推荐

  1. php函数fgets读取文件

    如果一个文件比较大,可以考虑用fgets函数 下面是个例子: #文件作用:fgets读取文件 $start_time = microtime(true); $file_name = "a.t ...

  2. JS中数组Array的用法{转载}

    js数组元素的添加和删除一直比较迷惑,今天终于找到详细说明的资料了,先给个我测试的代码^-^var arr = new Array();arr[0] = "aaa";arr[1] ...

  3. tyvj1194 划分大理石

    描述 有价值分别为1..6的大理石各a[1..6]块,现要将它们分成两部分,使得两部分价值之和相等,问是否可以实现.其中大理石的总数不超过20000.  输入格式 有多组数据!所以可能有多行如果有0  ...

  4. WindowsPhone8.1RT建立空白应用挂起没反应的解决方案

    wp8.1下, 建立空白应用后遇到的问题:想要实现保存.提取数据都无法成功 在退出程序后无法进入到OnNavigatedFrom()中去. 网上说要手动的Invoke OnSuspending事件. ...

  5. 如何学习JavaScript

    Javascript是我大学里面做网站兴趣,加上进一年维护公司javascript相关的框架. 顺便回顾一下自己学习 javascript 的相关方法和技巧,分享给需要的朋友. 1.base 基础.兼 ...

  6. UI第十五节——UIWebView

    - (void)viewDidLoad {    [super viewDidLoad];    UIWebView *webView = [[UIWebView alloc] initWithFra ...

  7. Shell入门教程:算术运算

    Bash的算术运算有以下几种方法: 序号 名称 语法 范例 1 算术扩展 $((算术式)) r=$((2+5*8)) 2 使用外部程序 expr 算术式 r=`expr 4 + 5` 3 使用 $[] ...

  8. Ajax方法提交整个表单的信息

    <pre>$.ajax({                 cache: true,                 type: "POST",             ...

  9. django 模板语法和三种返回方式

    模板 for循环 {% for athlete in athlete_list %} <li>{{ athlete.name }}</li> {% endfor %} if语句 ...

  10. stack.sh failing giving error "g-api did not start"

    same issue i faced , tried with ./unstack.sh and ./clean.sh also but couldn't fix the issue.Followin ...