让我们说我们有3个微服务A,B和C.我们想测试微服务A的功能,这取决于微服务B.然而,微服务B的响应也取决于微服务C. Spring Cloud Contract是否支持此类案例?因为通过阅读文档,我得到了为A-B(和插入B)之间的交互创建合同时,B中自动生成的测试将失败,因为它等待来自C的响应以便提供答案。即使我们有另一个交互B-C的合同,这意味着我们必须在B中修改自动生成的测试,以便测试成功。有没有办法在为A-B创建合同时指定这也取决于交互B-C?
答案 0 :(得分:1)
我认为你正在阅读的文档比实际更多。在测试使用者时,合同不会被声明,它只会生成与合同匹配的存根响应。因此,在您的方案中,要测试服务A,您只需要来自服务B的存根。您甚至不需要合同,并且您不需要服务C中的任何内容。我想知道您是否真的尝试过它什么都没有用?