Java测试新技术TestNG和高级概念PDF电子书下载
- 电子书积分:12 积分如何计算积分?
- 作 者:伯斯特(Beist,C.),苏雷曼(Suleiman,H.)著,王海鹏译
- 出 版 社:北京:机械工业出版社
- 出版年份:2009
- ISBN:9787111245506
- 页数:324 页
第1章 起步 1
1.1超越JUnit 3 2
1.1.1有状态的类 2
1.1.2参数 3
1.1.3基类 3
1.1.4异常并非偶然 3
1.1.5执行测试 4
1.1.6真实世界中的测试 4
1.1.7配置方法 4
1.1.8依赖关系 5
1.1.9领悟 5
1.2 JUnit 4 5
1.3针对可测试性而设计 6
1.3.1面向对象编程和封装 6
1.3.2设计模式革命 7
1.3.3确定问题 7
1.3.4推荐阅读 11
1.4 TestNG 12
1.4.1 annotation 12
1.4.2测试、套件和配置annotation 13
1.4.3分组 14
1.4.4 testng.xml 15
1.5本章小结 15
第2章 测试设计模式 16
2.1针对失败而测试 16
2.1.1报告错误 16
2.1.2运行时刻异常和被检查的异常 17
2.1.3测试代码是否漂亮地处理了失败 18
2.1.4何时不要使用expected-Exceptions 21
2.1.5 testng-failed.xml 22
2.2工厂 24
2.2.1 ?Factory 24
2.2.2 org.testng.ITest 27
2.3数据驱动测试 27
2.3.1参数和测试方法 29
2.3.2利用testng.xml传递参数 31
2.3.3利用?DataProvider传递参数 32
2.3.4针对数据提供者的参数 35
2.3.5 Method参数 35
2.3.6ITestContext参数 36
2.3.7延迟数据提供者 38
2.3.8两种方法的优点和不足 41
2.3.9提供数据 42
2.3.10数据提供者还是工厂 43
2.3.11综合运用 43
2.4异步测试 46
2.5测试多线程代码 49
2.5.1并发测试 50
2.5.2 threadPoolSize、invocationCount和timeOut 52
2.5.3并发执行 54
2.5.4打开并行位 57
2.6性能测试 58
2.6.1算法复杂度 58
2.6.2测试复杂度 60
2.7模拟和桩 62
2.7.1模拟与桩的对比 63
2.7.2为可模拟性而设计 66
2.7.3模拟库 67
2.7.4选择正确的策略 69
2.7.5模拟易犯的错误 70
2.8依赖的测试 71
2.8.1依赖的代码 72
2.8.2利用TestNG进行依赖的测试 73
2.8.3决定依赖于组还是方法 74
2.8.4依赖的测试和线程 76
2.8.5配置方法的失败 77
2.9继承和annotation范围 78
2.9.1问题 78
2.9.2继承易犯的错误 80
2.10测试分组 82
2.10.1语法 83
2.10.2分组与运行时刻 84
2.10.3执行分组 87
2.10.4有效使用分组 87
2.11代码覆盖率 91
2.11.1覆盖率示例 92
2.11.2覆盖率度量指标 93
2.11.3覆盖率工具 94
2.11.4实现 101
2.11.5小心 102
2.11.6成功使用覆盖率的建议 102
2.12本章小结 104
第3章 企业级测试 105
3.1典型企业级场景 105
3.1.1参与者 106
3.1.2测试方法学 106
3.1.3当前方法的问题 107
3.2一个具体例子 108
3.2.1测试内容 109
3.2.2非测试内容 109
3.3测试实现 110
3.3.1测试成功场景 110
3.3.2构建测试数据 112
3.3.3测试准备问题 114
3.3.4错误处理 118
3.3.5逐渐出现的单元测试 120
3.3.6处理容器内的组件 122
3.3.7综述 123
3.4探讨竞争消费者模式 125
3.4.1模式 125
3.4.2测试 126
3.5重构的作用 128
3.5.1一个具体的例子 129
3.5.2容器内的方式 133
3.6本章小结 134
第4章 Java EE测试 135
4.1容器内测试与容器外测试的对比 136
4.2容器内测试 137
4.2.1创建测试环境 137
4.2.2确定测试 137
4.2.3注册测试 139
4.2.4注册结果监听者 140
4.3 Java命名和目录接口(JNDI) 142
4.3.1理解JNDI的自举过程 142
4.3.2 Spring的SimpleNamingContext-Builder 143
4.3.3避免JNDI 144
4.4 Java数据库连接(JDBC) 144
4.4.1 c3p0 146
4.4.2 Commons DBCP 146
4.4.3 Spring 146
4.5 Java事务API (JTA) 147
4.5.1 Java Open Transaction Manager(JOTM) 149
4.5.2 Atornikos TransactionEssentials 149
4.6 Java消息服务(JMS) 150
4.6.1创建发送者/接收者测试 150
4.6.2在测试中使用ActiveMQ 152
4.7 Java持久API(JPA) 155
4.7.1配置数据库 156
4.7.2配置JPA提供者 157
4.7.3编写测试 158
4.7.4模拟一个容器 159
4.7.5将Spring作为容器 160
4.8 Enterprise JavaBeans 3.0(EJB3) 163
4.8.1消息驱动Bean 164
4.8.2会话Bean 165
4.8.3另一个Spring容器 168
4.8.4全功能容器的不足之处 169
4.9 Java API for XML Web Services(JAX-WS) 170
4.9.1记录请求 171
4.9.2准备测试环境 172
4.9.3创建服务测试 174
4.9.4 XPath测试 175
4.9.5测试远程服务 176
4.10 servlet 177
4.10.1容器内测试 177
4.10.2模拟对象/桩对象 177
4.10.3重构 178
4.10.4嵌入的容器 178
4.10.5内存中调用 180
4.11 XML 182
4.11.1使用dom4j 183
4.11.2使用XMLUnit 183
4.12本章小结 184
第5章 集成 186
5.1 Spring 186
5.1.1 Spring的测试包功能 187
5.1.2测试类层次结构 188
5.2 Guice 193
5.2.1 Spring的问题 194
5.2.2认识Guice 195
5.2.3一个典型的依赖场景 195
5.2.4对象工厂 197
5.2.5 Guice配置 198
5.2.6基于Guice的测试 201
5.2.7对测试依赖进行分组 202
5.2.8注入配置 203
5.3 DbUnit 205
5.3.1配置 205
5.3.2用法 206
5.3.3验证结果 208
5.4 HtmlUnit 211
5.4.1配置 212
5.4.2用法 213
5.5 Selenium 216
5.6 Swing UI测试 217
5.6.1测试方法 217
5.6.2配置 218
5.6.3用法 219
5.7针对画图代码的测试 221
5.8持续集成 223
5.8.1为何要持续集成 223
5.8.2 CI服务器的功能 224
5.8.3 TestNG集成 224
5.9本章小结 225
第6章 扩展TestNG 226
6.1 TestNG API 226
6.1.1 org.testng.TestNG、ITestResult、TTestListener、ITestNGMethod 226
6.1.2一个具体的例子 228
6.1.3 XML API 230
6.1.4合成XML文件 232
6.2 BeanShell 233
6.2.1 BeanShell概述 233
6.2.2 TestNG与BeanShell 234
6.2.3交互式执行 236
6.3方法选择器 237
6.4 annotation转换器 241
6.4.1 annotation历史 241
6.4.2优点和不足 242
6.4.3使用TestNG annotation转换器 242
6.4.4 annotation转换器的可能用法 246
6.5报告 247
6.5.1默认报告 247
6.5.2报告API 251
6.5.3报告插件API 251
6.6编写自定义annotation 256
6.6.1实现 257
6.6.2测试 260
6.7本章小结 262
第7章 杂谈 263
7.1动机 263
7.2 TestNG哲学 263
7.3关注和提供异常 264
7.4有状态的测试 266
7.4.1不可修改的状态 267
7.4.2可修改的状态 267
7.5测试驱动开发的缺点 268
7.5.1 TDD注重微观设计超过宏观设计 268
7.5.2 TDD难以应用 269
7.5.3从测试驱动开发中汲取优点 270
7.6测试私有方法 270
7.7测试与封装 272
7.8调试器的威力 273
7.9记日志的最佳实践 274
7.10时间的价值 276
7.11本章小结 278
附录A IDE集成 279
附录B TestNG Javadocs 295
附录C testng.xml 302
附录D 从JUnit迁移 310
- 《钒产业技术及应用》高峰,彭清静,华骏主编 2019
- 《现代水泥技术发展与应用论文集》天津水泥工业设计研究院有限公司编 2019
- 《异质性条件下技术创新最优市场结构研究 以中国高技术产业为例》千慧雄 2019
- 《Prometheus技术秘笈》百里燊 2019
- 《中央财政支持提升专业服务产业发展能力项目水利工程专业课程建设成果 设施农业工程技术》赵英编 2018
- 《药剂学实验操作技术》刘芳,高森主编 2019
- 《林下养蜂技术》罗文华,黄勇,刘佳霖主编 2017
- 《脱硝运行技术1000问》朱国宇编 2019
- 《催化剂制备过程技术》韩勇责任编辑;(中国)张继光 2019
- 《信息系统安全技术管理策略 信息安全经济学视角》赵柳榕著 2020
- 《幼儿英语游戏活动指导与实训》苏小菊,任晓琴主编;颜晓芳,覃静,谢恬恬,钟博维副主编 2020
- 《乞力马扎罗的雪》欧内斯特·海明威 2018
- 《少年国王》(英)O.王尔德(O.Wilde)原著;(英)D.K.斯旺(D.K.Swan),(英)M.韦斯特(M.West);张艳敏翻译 2015
- 《隐秘权力》南希·吉伯斯 2020
- 《西方经济学发展阶段》(苏)弗·谢·阿法拉西耶夫著 2019
- 《海明威 最后的访谈 1》沈悠译;(美)欧内斯特·海明威 2019
- 《地下酒吧的前世今生》(意)莫里吉奥·马埃斯特雷利著 2019
- 《2019中央美术学院研究生毕业作品集》苏新平主编;陈琦副主编 2019
- 《国际安徒生奖 弟弟是个麻烦鬼》克里斯蒂娜·涅斯特林格 2016
- 《怎样玩转信息 研究方法指南》邸仪责任编辑;孙宝库译;(美)凯文·坎农,(美)马特·厄普森,(美)C.迈克尔·豪尔 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018
- 《高等教育双机械基础课程系列教材 高等学校教材 机械设计课程设计手册 第5版》吴宗泽,罗圣国,高志,李威 2018
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019
- 《高等院校旅游专业系列教材 旅游企业岗位培训系列教材 新编北京导游英语》杨昆,鄢莉,谭明华 2019
- 《中国十大出版家》王震,贺越明著 1991
- 《近代民营出版机构的英语函授教育 以“商务、中华、开明”函授学校为个案 1915年-1946年版》丁伟 2017
- 《新工业时代 世界级工业家张毓强和他的“新石头记”》秦朔 2019
- 《智能制造高技能人才培养规划丛书 ABB工业机器人虚拟仿真教程》(中国)工控帮教研组 2019
- 《AutoCAD机械设计实例精解 2019中文版》北京兆迪科技有限公司编著 2019