0

假设我们有 3 个微服务 A、B 和 C。我们要测试微服务 A 的一个功能,它依赖于微服务 B。但是,微服务 B 的响应也依赖于微服务 C。Spring Cloud Contract 是否支持这种情况? 因为通过阅读文档,我了解到当为 AB 之间的交互创建合约(并插入 B)时,B 中自动生成的测试将失败,因为它等待来自 C 的响应以提供答案。即使我们有另一个交互 BC 的合约,这意味着我们必须修改 B 中自动生成的测试,以便测试成功。有没有办法在为 AB 创建合同时指定这也取决于交互 BC?

4

1 回答 1

1

我认为您阅读的文档比实际存在的要多。当您测试消费者时,合约不会被断言,它只是生成与合约匹配的存根响应。因此,在您的场景中,要测试服务 A,您只需要来自服务 B 的存根。您甚至不需要合同,也不需要来自服务 C 的任何东西。我想知道您是否真的尝试过,但有些东西没有不行吗?

于 2017-05-29T07:43:12.387 回答