JavaScript测试驱动开发PDF电子书下载
- 电子书积分:11 积分如何计算积分?
- 作 者:(美)文卡特·苏布拉马尼亚姆(Venkat Subramaniam)著;毛姝雯译
- 出 版 社:北京:人民邮电出版社
- 出版年份:2018
- ISBN:9787115477156
- 页数:289 页
第1章 自动化测试让你重获自由 1
1.1变更的挑战 1
1.1.1变更的成本 1
1.1.2变更的影响 2
1.2测试与验证 2
1.3采用自动化验证 3
1.4为什么难以验证 5
1.5如何实现自动化测试 6
1.6小结 6
第一部分 创建自动化测试 10
第2章 测试驱动设计 10
2.1让我们开始吧 10
2.1.1检查npm和Node js的安装 11
2.1.2创建示例项目 11
2.1.3创建测试套件和金丝雀测试 12
2.1.4验证函数的行为 14
2.1.5验证另一个数据 16
2.2正向测试、反向测试和异常测试 18
2.3设计服务器端代码 20
2.3.1从测试列表开始 20
2.3.2回文项目 21
2.3.3编写正向测试 22
2.3.4编写反向测试 26
2.3.5编写异常测试 27
2.4评估服务器端代码覆盖率 29
2.5为测试客户端代码做准备 31
2.5.1切换到客户端项目 31
2.5.2配置Karma 33
2.5.3从金丝雀测试开始 34
2.6设计客户端代码 34
2.7评估客户端代码覆盖率 37
2.8小结 38
第3章 异步测试 39
3.1服务器端回调 39
3.1.1一次天真的尝试 40
3.1.2编写异步测试 41
3.1.3编写一个反向测试 43
3.2客户端的回调函数 44
3.3测试promise 46
3.3.1对promise的简单介绍 46
3.3.2 promise异步测试的类型 47
3.3.3返回promise对象的函数 48
3.3.4使用done()进行测试 49
3.3.5返回promise的测试 49
3.3.6使用chai-as-promised 50
3.3.7结合eventually和done() 50
3.3.8为promise编写反向测试 51
3.4小结 52
第4章 巧妙处理依赖 53
4.1问题以及spike解决方案 53
4.1.1转移到spike项目 53
4.1.2从spike中获得见解 54
4.2模块化设计 55
4.3尽量分离依赖 56
4.3.1结束spike,准备自动化测试 56
4.3.2测试c reatURL 57
4.4使用测试替身 59
4.5依赖注入 61
4.6交互测试 62
4.7使用Sinon清理测试代码 64
4.7.1安装Sinon 65
4.7.2初探Sinon 65
4.7.3使用Sinon的mock测试交互 67
4.7.4使用Sinon的stub 测试状态 68
4.7.5使用Sinon的spy拦截调用 70
4.8回顾与继续 72
4.9小结 75
第二部分 真实的自动化测试 78
第5章 Node.js测试驱动开发 78
5.1从策略设计开始——适度即可 78
5.2深入战略设计——测试优先 79
5.2.1创建初始测试列表 79
5.2.2编写第一个测试 80
5.2.3编写一个正向测试 82
5.3继续设计 85
5.3.1 readTickersFile的反向测试 85
5.3.2设计parseTickers函数 87
5.3.3设计processTickers函数 88
5.4创建spike以获得启发 89
5.4.1为getPrice创建spike 89
5.4.2设计getPrice函数 90
5.5模块化以易于测试 93
5.5.1设计processResponse和processError函数 93
5.5.2设计processHttpError 95
5.5.3设计parsePrice和process-Error 96
5.6分离关注点 97
5.6.1设计printReport 98
5.6.2设计sortData 98
5.7集成和运行 100
5.8回顾代码覆盖率和设计 102
5.8.1评估代码覆盖率 102
5.8.2代码设计 103
5.9提供HTTP访问 104
5.10小结 105
第6章 Express测试驱动开发 106
6.1为可测试性设计 106
6.1.1创建策略设计 107
6.1.2通过测试创建战略设计 108
6.2创建Express应用并运行金丝雀测试 108
6.3设计数据库连接 109
6.4设计模型 113
6.4.1建立数据库连接和测试固件 113
6.4.2设计all函数 114
6.4.3设计get函数 115
6.4.4设计add函数 116
6.4.5处理delete函数 121
6.4.6设计共享的校验代码 123
6.5设计路由函数 126
6.5.1重温路由 127
6.5.2从为Router创建stub开始 128
6.5.3测试路径/的GET方法 129
6.5.4测试路径/:id的GET方法 131
6.5.5处理路径/的P05T方法 133
6.5.6以路径/:id的DELETE方法结束整个测试 135
6.6评估代码覆盖率 136
6.7运行应用 138
6.7.1 使用Curl 139
6.7.2使用Chrome扩展程序 140
6.7.3观察响应 141
6.8小结 141
第7章 与DOM和jQuery协作 142
7.1创建策略设计 142
7.2通过测试创建战略设计 143
7.2.1创建测试列表 143
7.2.2创建项目 144
7.3增量开发 145
7.3.1设计getTasks 146
7.3.2更新DOM 147
7.3.3调用服务 150
7.3.4注册window对象的onload事件 154
7.4运行UI 155
7.5完成设计 156
7.5.1设计addTask 157
7.5.2设计deleteTask 163
7.6使用jQuery进行测试 165
7.6.1准备工作 166
7.6.2使用jQuery选择器 166
7.6.3使用$.ajax验证调用 167
7.6.4 测试document的ready函数 168
7.6.5完整的测试和使用jQuery 的代码实现 170
7.7评估代码覆盖率 170
7.8小结 171
第8章 使用AngularJS 172
8.1测试AngularJS的方式 172
8.2初步设计 175
8.3关注控制器 176
8.3.1准备工作空间 176
8.3.2编写第一个测试 177
8.3.3设计控制器 177
8.4设计服务交互 180
8.5分离关注点,减少mock 182
8.5.1找到合适的地方 183
8.5.2结合经验测试和交互测试 183
8.5.3测试加载顺序 186
8.6继续设计 187
8.6.1设计addTask 188
8.6.2设计deleteTask 192
8.7设计服务 194
8.7.1设计get 函数 194
8.7.2设计add函数 197
8.7.3设计delete 函数 198
8.8评估代码覆盖率 199
8.9运行UI 200
8.10小结 201
第9章 Angular 2测试驱动开发 202
9.1通过spike学习Angular 202
9.1.1管道、服务和组件 203
9.1.2创建项目 203
9.1.3创建管道 204
9.1.4创建服务 205
9.1.5创建组件 207
9.1.6集成 211
9.2通过测试设计Angular应用 213
9.2.1创建项目 214
9.2.2创建测试列表 215
9.3测试驱动组件的设计 215
9.3.1验证是否设置组件属性 215
9.3.2初始化模型 218
9.3.3设计getTasks 219
9.3.4对任务进行排序 222
9.3.5验证依赖注入 224
9.4测试驱动服务的设计 226
9.5测试驱动管道的设计 230
9.6测试驱动启动代码 234
9.7集成 236
9.8完成设计 237
9.8.1设计任务添加功能 238
9.8.2设计任务删除功能 245
9.8.3评估代码覆盖率 248
9.9小结 249
第10章 集成测试和端到端测试 250
10.1认识Protractor 250
10.1.1使用Protractor的理由 251
10.1.2安装Protractor 251
10.1.3使用Protractor进行测试 251
10.1.4为UI层测试做准备 253
10.1.5编写第一个测试 254
10.1.6测试数据发送 255
10.2启动服务器和配置数据库 256
10.2.1为TO-DO应用安装Protractor 257
10.2.2在设置前启动服务器 257
10.2.3为不同的环境创建数据库 259
10.2.4在beforeEach中设置数据 260
10.3测试jQuery UI 261
10.3.1设置Protractor配置文件 261
10.3.2发现必要的测试 261
10.3.3实现集成测试 262
10.4使用页面对象 265
10.5测试AngularJS的UI 268
10.6测试Angular 2的UI 272
10.7小结 275
第11章 测试驱动你自己的应用 276
11.1努力的成果 276
11.2测试的规模和层次 279
11.3测试驱动:程序员指南 280
11.4测试驱动:团队领导、架构师指南 282
11.5测试驱动:项目经理指南 283
11.5.1促进可持续的敏捷开发实践 283
11.5.2优雅地处理遗留应用 283
11.5.3结束新的遗留应用 284
11.6摇滚吧 285
附录 网络资源 286
参考文献 288
- 《区块链DAPP开发入门、代码实现、场景应用》李万胜著 2019
- 《高含硫气藏开发腐蚀控制技术与实践》唐永帆,张强 2018
- 《土壤环境监测前沿分析测试方法研究》中国环境监测总站编著 2018
- 《主题公园开发与管理》梁增贤编著 2019
- 《计算机自适应英语语用能力测试系统设计与效度验证 以TEM4词汇与语法题为例》张一鑫著 2019
- 《中南高校档案文化资源开发综合研究》涂上飙 2019
- 《普通高等职业教育计算机系列规划教材 Android Studio移动应用开发基础》(中国)吴绍根 2019
- 《无机及分析测试技术》李巍巍 2018
- 《汉语口语测试评分员评价研究》黄霆玮著 2019
- 《Cocos Creator微信小游戏开发实战》王绍明编著 2020
- 《SQL与关系数据库理论》(美)戴特(C.J.Date) 2019
- 《魔法销售台词》(美)埃尔默·惠勒著 2019
- 《看漫画学钢琴 技巧 3》高宁译;(日)川崎美雪 2019
- 《优势谈判 15周年经典版》(美)罗杰·道森 2018
- 《社会学与人类生活 社会问题解析 第11版》(美)James M. Henslin(詹姆斯·M. 汉斯林) 2019
- 《海明威书信集:1917-1961 下》(美)海明威(Ernest Hemingway)著;潘小松译 2019
- 《迁徙 默温自选诗集 上》(美)W.S.默温著;伽禾译 2020
- 《上帝的孤独者 下 托马斯·沃尔夫短篇小说集》(美)托马斯·沃尔夫著;刘积源译 2017
- 《白雪公主分面包 分数》(韩)车宝金文 2016
- 《巴黎永远没个完》(美)海明威著 2017
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《办好人民满意的教育 全国教育满意度调查报告》(中国)中国教育科学研究院 2019
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018
- 《人民院士》吴娜著 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019
- 《中国人民的心》杨朔著;夕琳编 2019
- 《高等院校旅游专业系列教材 旅游企业岗位培训系列教材 新编北京导游英语》杨昆,鄢莉,谭明华 2019
- 《中华人民共和国成立70周年优秀文学作品精选 短篇小说卷 上 全2册》贺邵俊主编 2019
- 《指向核心素养 北京十一学校名师教学设计 数学 九年级 上 配人教版》周志英总主编 2019
- 《中华人民共和国成立70周年优秀文学作品精选 中篇小说卷 下 全3册》洪治纲主编 2019