本技能面向“没有测试的遗留代码”,核心理念是先让代码进入测试保护再修改。它提供遗留代码修改算法:识别修改点、寻找测试点、打破依赖、编写特征测试、在测试保护下修改与重构。
主要能力包括:特征测试——先写已知会失败的断言,让失败信息揭示代码实际行为,再调整测试以匹配,从而记录“代码做了什么”而非“应该做什么”;Sprout/Wrap 技术应对时间压力,如 Sprout Method、Sprout Class、Wrap Method、Wrap Class(装饰器);影响草绘与夹点测试,用于一处需改动多个类时先找出效果汇聚的夹点来写测试;依赖打破目录,如 Adapt Parameter、Extract Interface、Parameterize Constructor、Subclass and Override Method 等,并附无法实例化、无法调用方法等场景的决策树。
适用场景为需要改动缺乏测试的旧代码,又不希望引入回归。限制:资料未提供具体安装命令或运行方式;夹点测试属脚手架,应在获得正式单元测试后删除。