测试驱动开发笔记之入门
无意间接触TDD
以前写个小函数之后,一直用main函数来做单元测试。看看是否有其他的方法,不用老这么整。
后面听到过xUnit啥,然后在网上也看一部分资料,Junit简要入门,junit-tutorials等。
弄完之后觉得好奇,想知道Junit是谁先提出的,无意间就找到 Kent Beck 的一本关于测试驱动开发的书:
《Test-Driven Development By Example》。
TDD 小结
后面每天抽点时间把第一章的知识看完,主要围绕资金实例一步一步的介绍测试驱动开发,作者忒细心,
深怕介绍的过快而没有讲清楚。今日把相关的要点列出来,最近慢慢在开始练习开发模式写代码。示例代码
可以参考TDD。
测试驱动开发的目标
每一种开发方法都是为了解决某个问题而来的,而测试驱动开发的目的就是为让人写出整洁可用的代码。
测试驱动开发的态度
- 测试优先
- 只有自动测试失败时,才重写代码
- 不可运行/可运行/重构
- 不断构建测试列表
测试驱动开发的过程
- 加入一个小的测试;
- 运行所有测试,运行测试;
- 适当修改;
- 运行测试且成功;
- 重构,消除重复设计,优化设计结构。
三个测试驱动开发小技巧
- 让测试利落运行的三种方法
- 伪方法:返回一个常量并逐渐用变量代替常量,直至伪实现代码成为真实地代码
- 三角法:在例子达到2个或更多时才对代码实施一般化
- 显明实现:实现真实的代码
- 把消除代码与测试间的重复设计作为驱动设计的一种手段
- 控制测试间隙的能力,不知如何下手,就放慢,在状况好时就开快一些
参考资料
Author: cloudfeng
Link: https://cloudfeng.github.io/2018/06/23/arts/share/S-TDD-note/
License: 知识共享署名-非商业性使用 4.0 国际许可协议