phpunit测试学习 1:一点简单的扼要有用的东西的总结 一点入门认识
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:一点简单的扼要有用的东西的总结 一点入门认识的更多相关文章
- phpunit测试学习 2 分类总结断言涉及哪些方面
11:27 2015/12/9phpunit测试学习 2, 分类总结断言涉及哪些方面先推荐windows快速打开某处路径下的cmd,进入测试状态:可以在文件夹中,按住Shift+鼠标右键,这时候你就 ...
- 第二节 PHPUnit测试的剖析
现在,让我们仔细看看测试结构的样子. 让我们从一个简单的测试用例开始,它将显示基本的PHPUnit测试结构. 以下代码片段是测试用于排序数组的两个PHP函数的一个非常基本的示例:asort()用于对数 ...
- phpunit测试成功 phpunit测试实践代码
16:12 2015/12/8phpunit测试成功,代码写在www目录下,以类名命名代码文件,我的文件名为 ArrayTest.php,类名为ArrayTest,内部写了简单的测试代码:<?p ...
- Web安全测试学习手册-业务逻辑测试
i春秋作家:Vulkey_Chen 首先感谢朋友倾璇的邀请 http://payloads.online/archivers/2018-03-21/1 ,参与了<web安全测试学习手册>的 ...
- Sony深度学习框架 - Neural Network Console - 教程(1)- 原来深度学习可以如此简单
“什么情况!?居然不是黑色背景+白色文字的命令行.对,今天要介绍的是一个拥有白嫩的用户界面的深度学习框架.” 人工智能.神经网络.深度学习,这些概念近年已经涌入每个人的生活中,我想很多人早就按捺不住想 ...
- 一点简单的关于ASP.NET下载
一点简单的关于ASP.NET下载 个人简单的认为是有两种方法的,第一种就是直接用一个超链接链接到我们要下载的资源就可以了.只是说这个方法会有一点小问题就是,比如像图片或者文本文件这些浏览器是可以自动将 ...
- JSP学习笔记(三):简单的Tomcat Web服务器
注意:每次对Tomcat配置文件进行修改后,必须重启Tomcat 在E盘的DATA文件夹中创建TomcatDemo文件夹,并将Tomcat安装路径下的webapps/ROOT中的WEB-INF文件夹复 ...
- 测试redis+keepalived实现简单的主备切换【转载】
转自: 测试redis+keepalived实现简单的主备切换 - Try My Best 尽力而为 - ITeye技术网站http://raising.iteye.com/blog/2311757 ...
- Hibernate二次学习一----------Hibernate简单搭建
因为博客园自带的markdown不太好用,因此所有markdown笔记都使用cmd_markdown发布 Hibernate二次学习一----------Hibernate简单搭建: https:// ...
随机推荐
- git版本控制管理实践-2
给网站设置一个 "根目录下的logo.ico", 还是很有必要的,比如赶集网,这时在 "历史"搜索时, 就可以根据 网站的 logo.ico 很轻松的就能够找到 ...
- JSP Servlet的区别
主要体现在两点 1.JSP是类servlet jsp说得简单点就是用另一套简单的规则写的servlet程序,它可以写java代码,还可以写html代码,JavaScript,css等等……,但是到服务 ...
- html 图像映射(一个图像多个连接)
以前就见过那种导航地图,点击地图的不同省份分别跳到不同的连接,现在用html实现一下,简单的. 图像映射是指一个图像可以建立多个连接,就是在图像上面定义多个区域,每个区域连接到不同的地址. 效果如图: ...
- 【PHP发展史】PHP5.2 到 PHP5.6 中新增的功能详解
截至目前(2014.2), PHP 的最新稳定版本是 PHP5.5, 但有差不多一半的用户仍在使用已经不在维护的 PHP5.2, 其余的一半用户在使用 PHP5.3. 因为 PHP 那“集百家之长”的 ...
- pathinfo()、dirname()、basename()获得文件的路径,名称等信息说明
在PHP中,若想通过函数获得一个文件的路径.名称,或者是扩展名等,是非常容易的一件事.可以使用dirname().basename().pathinfo()等多种途径获得相应的信息. 假设现在有一个图 ...
- java基础知识(四)java内存机制
Java内存管理:深入Java内存区域 上面的文章对于java的内存管理机制讲的非常细致,在这里我们只是为了便于后面内容的理解,对java内存机制做一个简单的梳理. 程序计数器:当前线程所执行的字节码 ...
- 提高MYSQL百万条数据的查询速度
提高MYSQL百万条数据的查询速度 1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引. 2.应尽量避免在 where 子句中对字段进行 nul ...
- 【转】Entity Framework技术系列之7:LINQ to Entities
前言 LINQ(Language Integrated Query,语言集成查询)是一组用于C#和VB.NET语言的扩展,它允许编写C#或者VB.NET代码,以与查询数据库相同的方式操作内存数据. L ...
- Android四大组件知识整理
1. Activity 1.1 什么是Activity? Activity是Context的子类,并可以处理与窗体用户的事件: 1.2 Activity的生命周期 不存在->`onCreate( ...
- MySQL 5.7 学习:功能性能的提升
背景: 继上次介绍 初识 MySQL 5.6 新功能.参数完之后,刚好MySQL 5.7又GA了,在官方测试里看到,MySQL5.7在功能.性能.可用性.安全和监控上又提升了很高.现在看看和MySQL ...