Skip to main content

· 2 min read

TDD 的基本原则

  1. 当且仅当存在失败的测试代码时,才开始编写生产代码(让不通过变成通过
  2. 消除坏味道
  3. 原则:红/绿/重构(不关心代码结构,只关注功能的积累)

红:让测试变红
绿:最快速度写出测试通过的代码,多烂都可以
重构:消除上一步所产生的所有坏味道,因为测试的存在可以时刻检查功能是否正确,将关注点转移到怎样让代码更好上去

TDD 的核心要素:任务分解法

  1. 构思软件被使用的方式,把握对外接口的方向
  2. 大致构思功能的实现方式,划分所需组件以及组件之间的关系(所谓的架构),没思路也可以不划分
  3. 根据需求的功能描述拆分功能点,要考虑正确路径和边界条件
  4. 依照组件以及组件之间的关系,将功能拆分成对应组件
  5. 针对拆分的结果编写测试,进入红/绿/重构循环

理解需求,并通过测试构成高效的节奏,是有效实施 TDD 的前提

进入重构的先决条件

  1. 测试全都通过
  2. 坏味道足够明显
  3. 重构生产代码的时候不要改测试代码
  4. 重构测试代码时不要改生产代码(随着功能迭代,测试代码也会冗余,需要及时重构消除冗余代码