测试 Test Double

TestDouble 简单理解就是测试替身,在多数情况下,我们的系统能够正常运行,不仅仅依托系统本身,还需要依赖一些外部服务,比如其他系统提供的 http、rpc 服务,系统自身以来的像 redis 缓存服务或者 mysql 这类数据库服务。在微服务场景下,业务按照业务领域将一个系统拆分为多个系统,系统之间的交互不仅仅是简单的 A->B,可能是 A ->B -> C ->D,对于编写单元测试的开发者来说,当我需要编写系统A 的测试用例时,不可能去构建完整的调用链路,那么在测试工程中,通常会以 “测试替身” 来解决外部依赖所带来的测试复杂性问题。

阅读更多