内容简介
JavaScript专业开发人员必须具备的一个技能是能够编写可测试的代码。《编写可测试的JavaScript代码》的目标是教授如何为客户端和服务器编写和维护可测试的JavaScript代码。全书共8章。首先介绍了什么是可测试的代码,然后分别从代码复杂度、架构、单元测试、代码覆盖率、集成测试、性能测试、负载测试、调试和自动化等角度详细介绍。书中丰富的示例能够帮助读者从头开始养成好的代码编写习惯,提升测试效率及代码的可维护性。
《编写可测试的JavaScript代码》的作者曾先后在YouTube、Yahoo!以及Google等公司从事前端开发及测试相关工作,具有丰富的经验。《编写可测试的JavaScript代码》主要针对那些想成为JavaScript专业开发人员的人;也适合初中级水平或者专家级别的开发人员参考阅读。
作者简介
Mark Ethan Trostler,有超过20年编写和测试代码的经验。拥有加州大学圣地亚哥分校的计算机科学/哲学双学位,曾就职于创业公司(IPivot)和大公司(高通、英特尔、Redback Networks、Juniper Networks、Yahoo!、目前在谷歌),Mark一直致力于提高代码质量。之前在Yahoo! Mail团队任职高级首席前端工程师,他对Yahoo! Mail最新改版中的先锋测试和质量控制提供了帮助。
内页插图
精彩书评
★“…一本丰富且全面的JavaScript书籍。强烈推荐给每一位想要学习JavaScript的开发人员。”
——Shelley Powers JavaScript Cookbook作者
目录
第1章 可测试的JavaScript
1.1 现有技术
1.1.1 敏捷开发
1.1.2 测试驱动开发
1.1.3 行为驱动开发
1.1.4 哪种方式最好?
1.2 代码是让人用的
1.2.1 为何要编写可测试的代码
1.2.2 什么是可测试的代码
1.2.3 如何编写可测试的代码
1.3 卓越的应用程序代码
1.3.1 测试
1.3.2 调试
1.4 小结
第2章 复杂度
2.1 代码大小
2.2 JSLint
2.3 圈复杂度
2.4 重用
2.5 扇出
2.6 扇入
2.7 耦合
2.7.1 内容耦合
2.7.2 公共耦合
2.7.3 控制耦合
2.7.4 印记耦合
2.7.5 数据耦合
2.7.6 无耦合
2.7.7 实例化
2.8 耦合性度量
2.9 现实中的耦合
2.9.1 测试耦合代码
2.10 依赖注入
2.11 注释
2.11.1 YUIDoc
2.11.2 JSDoc
2.11.3 Docco/Rocco
2.12 人工测试
2.13 小结
第3章 基于事件的架构
3.1 基于事件编程的好处
3.2 事件集线器
3.2.1 使用事件集线器
3.2.2 事件的响应
3.2.3 基于事件的架构与MVC架构
3.2.4 基于事件的架构与面向对象编程
3.2.5 基于事件的架构与软件即服务
3.3 Web应用程序
3.4 测试基于事件的架构
3.5 基于事件架构的说明
3.5.1 可伸缩性
3.5.2 广播
3.5.3 运行时检测
3.5.4 安全性
3.5.5 状态
3.6 更智能的集线器:事件交换机
3.6.1 部署
3.6.2 一种实现
3.6.3 会话
3.6.4 可扩展性
3.7 小结
第4章 单元测试
4.1 单元测试框架
4.2 开始编写测试
4.3 编写好的单元测试
4.3.1 隔离
4.3.2 范围
4.3.3 定义函数
4.3.4 正向测试
4.3.5 负向测试
4.3.6 代码覆盖率
4.4 真实场景测试
4.4.1 依赖项
4.4.2 异步测试
4.5 运行客户端JavaScript单元测试
4.5.1 PhantomJS
4.5.2 Selenium
4.6 运行服务端JavaScript单元测试
4.6.1 Jasmine
4.7 小结
第5章 代码覆盖率
5.1 覆盖率基础理论
5.2 代码覆盖率数据
5.3 实际例子
5.3.1 转换instrumented文件
5.3.2 Instrumented文件剖析
5.4 练习/部署
5.4.1 客户端JavaScript
5.4.2 服务端JavaScript
5.5 持久化覆盖率信息
5.5.1 单元测试
5.5.2 集成测
5.6 生成输出
5.7 聚合
5.8 隐藏的文件
5.9 覆盖率目标
5.10 小结
第6章 集成测试、性能测试、负载测试
6.1 集成测试
6.1.1 Selenium
6.1.2 CasperJS
6.2 性能测试
6.2.1 生成HAR文件
6.2.2 查看HAR文件
6.2.3 浏览器性能测试
6.3 负载测试
6.3.1 浏览器负载测试
6.4 跟踪资源利用率
6.4.1 客户端跟踪
6.4.2 服务端跟踪
6.5 小结
第7章 调试
7.1 浏览器内调试
7.1.1 Firefox
7.1.2 Chrome
7.1.3 Safari
7.1.4 Internet Explorer
7.2 Node.js调试
7.3 远程调试
7.3.1 Chrome
7.3.2 PhantomJS
7.3.3 Firefox
7.4 移动调试
7.4.1 Android
7.4.2 iOS
7.4.3 Adobe Edge Inspect
7.4.4 其他方面的移动调试选择
7.5 生产环境调试
7.5.1 最小化代码
7.5.2 Source Map
7.6 小结
第8章 自动化
8.1 自动化什么内容
8.2 何时进行自动化
8.3 如何进行自动化
8.3.1 含有持续集成的自动化
8.3.2 开发环境自动化
8.3.3 构建环境自动化
8.3.4 部署
8.4 小结
前言/序言
编写可测试的JavaScript代码 电子书 下载 mobi epub pdf txt