| 接缝 | 可在不改动内部的情况下替换行为的位置 |
|---|---|
| 手段 | 提取接口、注入依赖、包装外部调用 |
| 测试 | 特征测试记录现状(含怪异行为) |
特征测试要点
特征测试要点
1. 选定入口,记录真实输入输出对
2. 断言包含当前「看似奇怪」的行为
3. 重构期间一旦偏离即红灯特征测试锁定的是现状而非期望:发现明显缺陷时单独记录,不要顺手「修正」,否则重构与修缺陷混在一起。
给无测试的遗留代码找接缝:在接缝处引入包装层(Wrapper、Adapter)与特征测试(characterization test),先锁定行为再逐步重构;不能全量重写时,测试是关键投资。
| 接缝 | 可在不改动内部的情况下替换行为的位置 |
|---|---|
| 手段 | 提取接口、注入依赖、包装外部调用 |
| 测试 | 特征测试记录现状(含怪异行为) |
1. 选定入口,记录真实输入输出对
2. 断言包含当前「看似奇怪」的行为
3. 重构期间一旦偏离即红灯