第3章 感知和分离
- 伪对象 就是指那些在测试中用于伪装成被测试类的”合作者”的对象。
- 仿对象(mock object) 就是在内部进行断言检查的伪对象。
第4章 接缝模型
- 接缝(seam) 就是指程序中的一些特殊的点,在这些点上你无需做任何修改就可以达到改变程序行为的目的。
- 接缝的分类:
- 预处理接缝: 通过条件编译来改变程序行为。
- 链接接缝: 通过链接不同的模块来改变程序行为。
- 对象接缝: 通过继承和多态来改变程序行为。
第8章 添加特性
- 测试驱动开发 的流程:
- 编写一个失败的测试用例。
- 修改代码,让代码通过编译。
- 修改代码,让代码通过测试。
- 消除代码中的重复。
- 重复以上步骤,直到实现所需的功能。
- 差异式编程(Programming by Difference) 是一种遗留代码修改策略:当新需求与现有行为具有大量共同逻辑时,以现有实现作为基准,通过复用它来获得共同行为,并仅为新旧行为之间的差异增加或替换代码,而不是复制或重新实现整个行为。
- 差异式编程实际操作过程:找相似行为 → 确定 Baseline → 找 Difference → 找 Seam/扩展点 → 复用旧行为 → 只实现 Difference。