首页/开发/软件测试速查/过度打桩的问题
自动化测试66 条

过度打桩的问题

过度打桩让用例与实现细节强耦合:调用顺序、内部方法名变化都导致失败,而真实回归价值有限;务实的边界是只隔离外部依赖(网络、时间、随机),业务逻辑用真实对象。

软件测试速查开发更新于 2026-10-12

替换边界

场景建议
网络与数据库替换或使用容器/内存实现
时间与随机替换为可控实现
第三方 SDK替换,减少外部依赖
被测对象内部方法避免替换,直接走真实实现
与实现细节绑定的用例会在重构时集中失败,团队会逐渐失去对测试信号的信任。

易错点

  • 对被测类的每个依赖都打桩,改一处实现要改多处用例
  • 用 InOrder 断言过细的调用顺序,用例变成实现说明书

数据来源与参考

  • Mockito 官方文档(Mocking 边界建议)
  • Martin Fowler《Mocks Aren't Stubs》(martinfowler.com)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌