由于此商品库存有限,请在下单后15分钟之内支付完成,手慢无哦!
100%刮中券,最高50元无敌券,券有效期7天
活动自2017年6月2日上线,敬请关注云钻刮券活动规则更新。
如活动受政府机关指令需要停止举办的,或活动遭受严重网络攻击需暂停举办的,或者系统故障导致的其它意外问题,苏宁无需为此承担赔偿或者进行补偿。
正版 JavaScript测试驱动开发 [美]卡特·苏布拉马尼亚姆 人民邮电
¥ ×1
第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
第一部分 创建自动化测试
第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 测试creatURL 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
第二部分 真实的自动化测试
第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和processError 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 处理路径/的POST方法 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
[美]卡特·苏布拉马尼亚姆(Venkat Subramaniam),博士,Agile Developer公司创始人,敏捷开发先驱,通过演讲、著书、培训等方式影响了全球数十万软件开发人员。另著有《高效程序员的45个习惯:敏捷开发修炼之道》《Scala程序设计:Java虚拟机多核编程实战》《Groovy程序设计》等书。
毛姝雯,对编程有着浓烈的兴趣,iOS开发、Web前端开发、UI设计等领域都有涉足。曾就职于IBM,专注于移动端Web开发。现在已经是一个可爱宝宝的母亲。
编辑推荐:使用JavaScript开发应用,测试起来并不容易?其实不然。 无论是使用Node.js、Express、MongoDB、jQuery、Angular,还是DOM和jQuery协作,都能够进行测试驱动开发。 然而,专业的程序员更关心如何写出清晰可行的自动化测试,并使风险最小化,让开发过程安全、高效、可持续。本书介绍了编写自动化测试所需的各种技巧和工具,结合大量实例,帮助读者理解并写出清晰且高效的自动化测试,并学习如何遵循软件设计敏捷原则,实现轻量级设计,得到可维护的代码。
本书主要内容: ● 自动化验证与自动化测试对于可持续开发的必要性。
● 自动化测试基础——为同步函数和异步函数编写测试。
● 为客户端和服务器端编写自动化测试,使用Node.js、Express、MongoDB、jQuery以及Angular。
● 学习使用测试工具,如Chai、Istanbul、Karma、Mocha、Protractor、Sinon等。
● 集成测试和端到端测试——检查覆盖率以确保各部分运转良好。
专业评论:“这本书不仅逐步说明了如何测试JavaScript,还提出了一种全面而又简化的方法来促成良好的设计。Venkat用词生动幽默,使得这本书的内容既有教学意义,又不乏趣味性。” ——Kimberly D. Barnes,GoSpotCheck高级软件工程师
“Venkat以他一贯的独特风格把JavaScript测试去芜存菁。他采用了一种非常受欢迎的实用主义方式来探讨这个有时很棘手的平台的测试问题。与此同时,还介绍了框架、工具的使用,并且提供了很有价值的建议和见解。强烈推荐这本书!” ——Neal Ford,Thoughtworks公司主管、软件架构师、Meme Wrangler
“如果你已经很熟悉另一门语言的TDD实践,这本书则回答了与测试驱动JavaScript应用相关的所有问题;如果你是JavaScript程序员,但还没有接触TDD,那么Venkat将通过几个真实的示例让你沿着这条路充满自信地走下去。” ——Naresha K.,Channel Bridge软件实验室技术专家
“这本书展示了如何把TDD用于前端技术,这正是我一直梦寐以求的。它包含了实用的示例和大量有用的信息。我学到了良好的实践,不再编写遗留代码。” ——Astefanoaie Nicolae Stelian,PRISA高级程序员
JavaScript已经成为使用最广泛的语言之一,它强大且高度灵活,但同时也颇具风险,所以应该用更出色的开发实践来支持。自动化测试和持续集成就是很好的方法,可以降低JavaScript带来的风险。本书介绍JavaScript自动化测试及其相关实践,主体内容包括两部分:第一部分涵盖自动化测试的基础,介绍如何为同步函数和异步函数编写测试,以及当代码包含复杂的依赖关系时如何实现自动化测试;第二部分通过一个测试驱动开发的示例,让读者能够运用在第一部分所学的内容,为客户端和服务器端编写自动化测试。本书在帮助读者学习和研究测试工具和技术的同时,还会介绍一些软件设计原则,有助于实现轻量级设计,并得到可维护的代码。
使用JavaScript开发应用,测试起来并不容易?其实不然。 无论是使用Node.js、Express、MongoDB、jQuery、Angular,还是DOM和jQuery协作,都能够进行测试驱动开发。 然而,专业的程序员更关心如何写出清晰可行的自动化测试,并使风险* 小化,让开发过程安全、、可持续。本书介绍了编写自动化测试所需的各种技巧和工具,结合大量实例,帮助读者理解并写出清晰且的自动化测试,并学习如何遵循软件设计敏捷原则,实现轻量级设计,得到可维护的代码。 本书主要内容: ● 自动化验证与自动化测试对于可持续开发的必要性 ● 自动化测试基础——为同步函数和异步函数编写测试 ● 为客户端和服务器端编写自动化测试,使用Node.js、Express、MongoDB、jQuery以及Angular ● 学习使用测试工具,如Chai、Istanbul、Karma、Mocha、Protractor、Sinon等 ● 集成测试和端到端测试——检查覆盖率以确保各部分运转良好
亲,大宗购物请点击企业用户渠道>小苏的服务会更贴心!
亲,很抱歉,您购买的宝贝销售异常火爆让小苏措手不及,请稍后再试~
非常抱歉,您前期未参加预订活动,
无法支付尾款哦!
抱歉,您暂无任性付资格