替换边界
| 场景 | 建议 |
|---|---|
| 网络与数据库 | 替换或使用容器/内存实现 |
| 时间与随机 | 替换为可控实现 |
| 第三方 SDK | 替换,减少外部依赖 |
| 被测对象内部方法 | 避免替换,直接走真实实现 |
与实现细节绑定的用例会在重构时集中失败,团队会逐渐失去对测试信号的信任。
过度打桩让用例与实现细节强耦合:调用顺序、内部方法名变化都导致失败,而真实回归价值有限;务实的边界是只隔离外部依赖(网络、时间、随机),业务逻辑用真实对象。
| 场景 | 建议 |
|---|---|
| 网络与数据库 | 替换或使用容器/内存实现 |
| 时间与随机 | 替换为可控实现 |
| 第三方 SDK | 替换,减少外部依赖 |
| 被测对象内部方法 | 避免替换,直接走真实实现 |