3.2 Unit Test and TDD Fundamentals
- TDD 主要体现在单元测试中
- 基本流程:
- 初始化
- 触发或者调用需要测试的行为
- 验证所测试行为的结果
- 扫尾
- 测试代码, 应该保持短小,精悍
3.3 The TDD Cycle:Red-Green-Refactor
- 基本流程:
- 先写测试代码
- 确保新的测试无法通过
- 修改原始代码使得测试代码通过
- 使用 TDD 方式,代码的覆盖率比较高, 出错的几率相对较小
3.6 Mind-sets for Successful Adoption of TDD
- incrementalism 每次写一点, 慢慢靠近最终的目标
- Test Behavior, Not Methods 测试目标的行为, 而不是单独的函数
- Keeping It simple
- Stick to the Cycle
3.7 Mechanics for success
- 计划下一个测试做啥
- 哪个操作逻辑上最有意义
- 哪个行为需要的代码量最少
- 是否可以编写一个测试表明现有的代码不完善
- 10分钟限制, 超过10分钟, 说明编写太复杂了, 可以考虑重写
- 缺陷是不可避免的, 但是使用TDD 可以大幅度的减少缺陷
- 使用 DISALBLE_ 前缀使某些测试无效, 便于测试修改