首页 > 解决方案 > 消费者是否需要等待提供者在 Spring Cloud Contract 中运行第一轮测试?

问题描述

Spring Cloud Contract 具有以下工作流程:

SCC 工作流程

我已经阅读了这里给出的解释: https ://docs.spring.io/spring-cloud-contract/docs/current/reference/html/getting-started.html#getting-started-introducing-spring-cloud-合同

  1. 在 SCC 中,工作流从提供商首先运行合同开始。这会生成一个存根。由于这个存根是通过针对他们的实际服务运行而生成的,所以这个存根是他们服务的可靠表示。
  2. 这个存根被传回给使用这个存根运行模拟服务器的消费者。一旦模拟服务器启动并运行,消费者就可以针对这个模拟服务器运行他们的 API 测试。

那么说消费者需要等待(至少第一轮)提供者测试完成才能第一次运行测试是否准确?

假设有 4 个提供者和 1 个消费者。消费者必须等待所有 4 个团队完成他们的第一次迭代才能从每个团队接收更新的存根。那是消费者可以执行他们的测试的时候。

将此与 Pact 进行对比,您可以在模拟服务器上运行测试(您可以在需要时对其进行更新),这允许您完成测试并将您的 pact 合同推送给提供者。因此,您的团队不会在任何阶段等待运行测试。

说消费者需要等待 SCC 中存根文件的第一次提供者迭代是否准确?

标签: spring-cloud-contract

解决方案


推荐阅读