没有合适的资源?快使用搜索试试~ 我知道了~
首页PHPUnit中文手册-PDF-5.1
资源详情
资源评论
资源推荐

PHPUnit
手册
Sebastian Bergmann

PHPUnit
手册
Sebastian Bergmann
出版日期
此版本对应于
PHPUnit
5.1。
最后更新于
2016-01-28。
版权
© 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015 Sebastian Bergmann
本作品依据
Creative Commons Attribution 3.0 Unported
许可协议进行授权。

iii
目录
1.
安装
PHPUnit ........................................................................................................... 1
需求
.................................................................................................................... 1
PHP
档案包
(PHAR) ............................................................................................. 1
Windows ...................................................................................................... 1
校验
PHPUnit PHAR
发行包
.......................................................................... 2
Composer ............................................................................................................. 4
可选的组件包
....................................................................................................... 4
2.
编写
PHPUnit
测试
................................................................................................... 5
测试的依赖关系
................................................................................................... 5
数据供给器
.......................................................................................................... 8
对异常进行测试
.................................................................................................. 12
对
PHP
错误进行测试
......................................................................................... 15
对输出进行测试
.................................................................................................. 17
错误相关信息的输出
........................................................................................... 18
边缘情况
.................................................................................................... 19
3.
命令行测试执行器
................................................................................................... 21
命令行选项
........................................................................................................ 21
4.
基境
(fixture) ........................................................................................................... 28
setUp()
多
tearDown()
少
...................................................................................... 30
变体
.................................................................................................................. 30
基境共享
............................................................................................................ 30
全局状态
............................................................................................................ 31
5.
组织测试
................................................................................................................ 33
用文件系统来编排测试套件
................................................................................. 33
用
XML
配置来编排测试套件
.............................................................................. 34
6.
有风险的测试
......................................................................................................... 35
无用测试
............................................................................................................ 35
意外的代码覆盖
.................................................................................................. 35
测试执行期间产生的输出
.................................................................................... 35
测试执行时长的超时限制
.................................................................................... 35
全局状态篡改
..................................................................................................... 35
7.
未完成的测试与跳过的测试
..................................................................................... 36
未完成的测试
..................................................................................................... 36
跳过测试
............................................................................................................ 37
用
@requires
来跳过测试
..................................................................................... 38
8.
数据库测试
............................................................................................................. 39
数据库测试所支持的供应商
................................................................................. 39
数据库测试的难点
.............................................................................................. 39
数据库测试的四个阶段
........................................................................................ 40
1.
清理数据库
............................................................................................. 40
2.
建立基境
................................................................................................ 40
3–5.
运行测试、验证结果、并拆除基境
........................................................ 40
PHPUnit
数据库测试用例的配置
.......................................................................... 40
实现
getConnection() ................................................................................... 41
实现
getDataSet() ........................................................................................ 41
数据库构架
(DDL)
怎么办?
.......................................................................... 41
小建议:使用你自己的抽象数据库
TestCase
类
............................................. 42
理解
DataSet(数据集)和
DataTable(数据表)
................................................. 43
可用的各种实现
.......................................................................................... 43
当心外键
.................................................................................................... 51
实现自有的
DataSet/DataTable ...................................................................... 51
数据库连接
API .................................................................................................. 52
数据库断言
API .................................................................................................. 53
对表中数据行的数量作出断言
...................................................................... 53
对表的状态作出断言
................................................................................... 53

PHPUnit
手册
iv
对查询的结果作出断言
................................................................................ 54
对多个表的状态作出断言
............................................................................ 54
常见问题(FAQ)
............................................................................................... 55
PHPUnit
会为每个测试(重新)创建数据库吗?
........................................... 55
为了让数据库扩展模块正常工作,需要在应用程序中使用
PDO
吗?
............... 55
如果看到
“Too much Connections”
错误该怎么办?
........................................ 55
Flat XML / CSV
数据集中如何处理
NULL?
.................................................. 56
9.
测试替身
................................................................................................................ 57
Stubs
(桩件)
................................................................................................... 57
仿件对象
(Mock Object) ........................................................................................ 62
Prophecy ............................................................................................................ 67
对特质
(Trait)
与抽象类进行模仿
............................................................................ 67
对
Web
服务
(Web Services)
进行上桩或模仿
.......................................................... 68
对文件系统进行模仿
........................................................................................... 70
10.
测试实践
.............................................................................................................. 73
在开发过程中
..................................................................................................... 73
在调试过程中
..................................................................................................... 73
11.
代码覆盖率分析
.................................................................................................... 75
用于代码覆盖率的软件衡量标准
.......................................................................... 75
将文件列入白名单
.............................................................................................. 76
略过代码块
........................................................................................................ 76
指明要覆盖的方法
.............................................................................................. 77
边缘情况
............................................................................................................ 78
12.
测试的其他用途
.................................................................................................... 80
敏捷文档
............................................................................................................ 80
跨团队测试
........................................................................................................ 80
13. Logging
(日志记录)
........................................................................................... 81
测试结果
(XML) ................................................................................................. 81
测试结果
(TAP) .................................................................................................. 82
测试结果
(JSON) ................................................................................................ 82
代码覆盖率
(XML) ............................................................................................. 83
代码覆盖率
(TEXT) ............................................................................................ 83
14.
扩展
PHPUnit ........................................................................................................ 84
从
PHPUnit_Framework_TestCase
派生子类
........................................................... 84
编写自定义断言
.................................................................................................. 84
实现
PHPUnit_Framework_TestListener .................................................................. 85
从
PHPUnit_Extensions_TestDecorator
派生子类
..................................................... 86
实现
PHPUnit_Framework_Test ............................................................................. 87
A.
断言
...................................................................................................................... 89
assertArrayHasKey() ............................................................................................. 89
assertClassHasAttribute() ....................................................................................... 89
assertArraySubset() .............................................................................................. 90
assertClassHasStaticAttribute() ............................................................................... 91
assertContains() ................................................................................................... 91
assertContainsOnly() ............................................................................................. 93
assertContainsOnlyInstancesOf() ............................................................................. 94
assertCount() ....................................................................................................... 94
assertEmpty() ...................................................................................................... 95
assertEqualXMLStructure() .................................................................................... 96
assertEquals() ...................................................................................................... 97
assertFalse() ...................................................................................................... 102
assertFileEquals() ............................................................................................... 103
assertFileExists() ................................................................................................ 103
assertGreaterThan() ............................................................................................. 104
assertGreaterThanOrEqual() ................................................................................. 105
assertInfinite() .................................................................................................... 105
assertInstanceOf() ............................................................................................... 106
assertInternalType() ............................................................................................ 107

PHPUnit
手册
v
assertJsonFileEqualsJsonFile() .............................................................................. 107
assertJsonStringEqualsJsonFile() ........................................................................... 108
assertJsonStringEqualsJsonString() ........................................................................ 109
assertLessThan() ................................................................................................ 109
assertLessThanOrEqual() ..................................................................................... 110
assertNan() ........................................................................................................ 111
assertNull() ........................................................................................................ 111
assertObjectHasAttribute() ................................................................................... 112
assertRegExp() ................................................................................................... 112
assertStringMatchesFormat() ................................................................................ 113
assertStringMatchesFormatFile() ........................................................................... 114
assertSame() ...................................................................................................... 115
assertStringEndsWith() ........................................................................................ 116
assertStringEqualsFile() ....................................................................................... 117
assertStringStartsWith() ....................................................................................... 117
assertThat() ....................................................................................................... 118
assertTrue() ....................................................................................................... 120
assertXmlFileEqualsXmlFile() .............................................................................. 121
assertXmlStringEqualsXmlFile() ........................................................................... 122
assertXmlStringEqualsXmlString() ........................................................................ 123
B.
标注
.................................................................................................................... 124
@author ............................................................................................................ 124
@after .............................................................................................................. 124
@afterClass ....................................................................................................... 124
@backupGlobals ................................................................................................ 125
@backupStaticAttributes ...................................................................................... 125
@before ............................................................................................................ 126
@beforeClass .................................................................................................... 126
@codeCoverageIgnore* ....................................................................................... 126
@covers ........................................................................................................... 127
@coversDefaultClass .......................................................................................... 127
@coversNothing ................................................................................................. 128
@dataProvider ................................................................................................... 128
@depends ......................................................................................................... 128
@expectedException ........................................................................................... 128
@expectedExceptionCode .................................................................................... 128
@expectedExceptionMessage ............................................................................... 129
@expectedExceptionMessageRegExp .................................................................... 130
@group ............................................................................................................ 130
@large .............................................................................................................. 130
@medium ......................................................................................................... 130
@preserveGlobalState ......................................................................................... 131
@requires ......................................................................................................... 131
@runTestsInSeparateProcesses ............................................................................. 131
@runInSeparateProcess ....................................................................................... 131
@small ............................................................................................................. 132
@test ................................................................................................................ 132
@testdox ........................................................................................................... 132
@ticket ............................................................................................................. 132
@uses .............................................................................................................. 132
C. XML
配置文件
..................................................................................................... 134
PHPUnit ........................................................................................................... 134
测试套件
.......................................................................................................... 135
分组
................................................................................................................. 135
Whitelisting Files for Code Coverage .................................................................... 136
Logging
(日志记录)
....................................................................................... 136
测试监听器
....................................................................................................... 137
设定
PHP INI
设置、常量、全局变量
................................................................. 137
剩余160页未读,继续阅读












Heier2013
- 粉丝: 0
- 资源: 2
上传资源 快速赚钱
我的内容管理 收起
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助

会员权益专享
最新资源
- Xilinx SRIO详解.pptx
- Informatica PowerCenter 10.2 for Centos7.6安装配置说明.pdf
- 现代无线系统射频电路实用设计卷II 英文版.pdf
- 电子产品可靠性设计 自己讲课用的PPT,包括设计方案的可靠性选择,元器件的选择与使用,降额设计,热设计,余度设计,参数优化设计 和 失效分析等
- MPC5744P-DEV-KIT-REVE-QSG.pdf
- 通信原理课程设计报告(ASK FSK PSK Matlab仿真--数字调制技术的仿真实现及性能研究)
- ORIGIN7.0使用说明
- 在VMware Player 3.1.3下安装Redhat Linux详尽步骤
- python学生信息管理系统实现代码
- 西门子MES手册 13 OpcenterEXCR_PortalStudio1_81RB1.pdf
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈



安全验证
文档复制为VIP权益,开通VIP直接复制

评论1