测试驱动:开发入门、实战与进阶
爱飞翔 译
出版时间:2023年03月
页数:246
“这是一本实用且有趣的TDD实践教程。如果你想开始做测试驱动开发,或者想了解这项软件开发者所应掌握的重要技术,那就立即阅读这本书吧!”
——Ham Vocke
Stack Overflow的软件开发者
开发者的水平需要靠代码来证明。无论你用的是哪种编程语言,都应该写出干净、优雅且整齐的代码。测试驱动开发(TDD)可以帮助你写出这种既易懂又漂亮的代码,这样的代码能够在以后的几个月乃至几年中稳定运行。在这本开发者必备的教程中,你能够学到如何用Go、JavaScript以及Python这三种语言来做测试驱动开发。
Saleem Siddiqui在书中会告诉你如何用单元测试引领开发工作,以解决业务领域中的复杂问题。这种测试驱动的编程方式会把需求划分成多个比较小的功能,并分别予以实现。无论使用哪种编程语言与编程框架,你都可以把本书中的知识运用到日常的编程工作中。
通过本书,你将学到:
● 如何用TDD把业务领域中的复杂问题划分成多个小功能,并分别予以实现。
● 如何在各类编程语言中用各种测试框架来做TDD,以实现业务领域中的概念。
● 如何通过TDD推进持续集成(CI)。
● 如何通过TDD做重构与重新设计。
● 如何用JavaScript编写一套简单而有效的测试用具,以便自动识别并运行单元测试。
● 如何配置一套持续集成环境,以自动测试在做TDD的过程中所写的单元测试。
● 如何以TDD的方式写出清晰而整齐的Go、JavaScript及Python代码。
- 第0章 简述如何配置开发环境
- 0.1 配置开发环境
- 0.2 小结
- 第一部分 入门
- 第1章 我们要解决的问题:Money
- 1.1 TDD 的基本流程:红-绿-重构循环
- 1.2 我们要解决的是什么问题
- 1.3 第一个失败的测试
- 1.4 让测试通过
- 1.5 清理代码
- 1.6 提交变更
- 1.7 小结
- 第2章 通过Money实体支持多种货币
- 2.1 开始支持欧元
- 2.2 让代码遵循DRY原则
- 2.3 刚才不是说要遵循DRY原则吗?现在为什么要保留两个相似的测试
- 2.4 分而治之(实现除法)
- 2.5 清理代码
- 2.6 提交变更
- 2.7 小结
- 第3章 通过Portfolio实体支持投资组合
- 3.1 设计下一个测试
- 3.2 提交变更
- 3.3 小结
- 第二部分 模块化
- 第4章 关注点分离
- 4.1 测试代码与产品代码
- 4.2 模块化
- 4.3 去除冗余(消除重复)
- 4.4 小结
- 第5章 Go语言的包与模块
- 5.1 把代码分割到不同的包中
- 5.2 Go语言的模块
- 5.3 创建新包
- 5.4 封装
- 5.5 消除测试中的重复
- 5.6 提交变更
- 5.7 小结
- 第6章 JavaScript的模块
- 6.1 把代码划分成多个模块
- 6.2 认识JavaScript模块
- 6.3 改进测试
- 6.4 提交变更
- 6.5 小结
- 第7章 Python的模块
- 7.1 把代码划分成多个模块
- 7.2 消除测试中的重复
- 7.3 提交变更
- 7.4 小结
- 第三部分 功能与重新设计
- 第8章 求Portfolio的值
- 8.1 处理币种不同的Money
- 8.2 提交变更
- 8.3 小结
- 第9章 这种钱,那种钱
- 9.1 制作映射表以便查询汇率
- 9.2 提交变更
- 9.3 小结
- 第10章 错误处理
- 10.1 我们想把错误处理机制实现成什么样子
- 10.2 提交变更
- 10.3 小结
- 第11章 通过Bank实体重新设计
- 11.1 依赖注入
- 11.2 把所有实体汇聚起来
- 11.3 提交变更
- 11.4 小结
- 第四部分 收尾
- 第12章 掌握测试顺序
- 12.1 修改汇率
- 12.2 提交变更
- 12.3 小结
- 第13章 持续集成
- 13.1 核心概念
- 13.2 把实现持续集成所需的步骤串起来
- 13.3 提交变更
- 13.4 小结
- 第14章 回顾
- 14.1 代码是否具备良好的形象
- 14.2 代码是否确切地实现了目标
- 14.3 在编写代码的过程中有没有其他路可走
- 14.4 从三个维度分析代码
- 14.5 TDD 过时了吗
- 14.6 全书总结
- 附录 A 配置开发环境
- 附录B 三种语言简史
- 附录C 致谢
书名:测试驱动:开发入门、实战与进阶
译者:爱飞翔 译
国内出版社:机械工业出版社
出版时间:2023年03月
页数:246
书号:978-7-111-72423-0
原版书书名:Learning Test-Driven Development
原版书出版商:O'Reilly Media
Saleem Siddiqui
Saleem Siddiqui是一位软件开发者,他也参与培训、演讲和写作。他具有丰富的技术开发经验,在大大小小的团队中开发过医疗、零售、政务、财务以及制药等方面的软件。Saleem将在本书中分享自己过去的经验与教训,帮助大家避开他以前编写软件时犯的错误。