我正在使用Pact框架来测试服务中的某些API。我有一个API可以启动一些后端执行。我们称它为请求A,响应返回唯一的执行ID。第二个API(请求B)发送从请求A返回的执行ID,以提取执行状态。在这种情况下,如何设置契约测试?问题是动态生成的执行ID。我知道提供者可以向消费者注入某些提供者状态。因此,可能会注入执行ID。但是我不确定如何从提供方进行注入。它需要访问响应A的响应,并为第二个请求注入执行ID(也许带有提供者状态回调)。
答案 0 :(得分:2)
您需要对供应商中发生的事情进行大量控制,以使Pact为您服务。
每个交互都经过单独验证(在某些框架中,以随机顺序),并且所有交互之间的状态都应清除,因此您需要使用提供者状态来设置初始状态下创建的所有数据请求。对于诸如执行ID之类的东西,您可以使用代码的另一种实现方式来生成仅用于协议测试的ID。