首页 > 解决方案 > 依赖于先前请求的响应的 Pact 请求

问题描述

我正在使用 Pact 框架来测试服务中的一些 API。我有一个 API 可以启动一些后端执行。我们称它为请求 A,响应返回一个唯一的执行 ID。第二个 API(请求 B)发送从请求 A 返回的执行 ID 以拉取执行状态。在这种情况下如何设置协议测试?问题是动态生成的执行 ID。我知道提供者可以向消费者注入一些提供者状态。因此,可能会注入执行 ID。但我不确定如何从提供者端进行注入。它需要访问来自响应 A 的响应,并为第二个请求注入执行 ID(可能带有提供者状态回调)。

标签: pact

解决方案


您需要对提供程序中发生的事情进行大量控制,Pact 才能为您工作。

每个交互都是单独验证的(在某些框架中,以随机顺序进行),并且应该在交互之间清除所有状态,因此您需要使用提供者状态来设置任何由初始请求创建的数据。关于执行 ID 之类的内容,您可以使用生成仅用于 Pact 测试的 ID 的代码的不同实现。


推荐阅读