pact - 依赖于先前请求的响应的 Pact 请求
问题描述
我正在使用 Pact 框架来测试服务中的一些 API。我有一个 API 可以启动一些后端执行。我们称它为请求 A,响应返回一个唯一的执行 ID。第二个 API(请求 B)发送从请求 A 返回的执行 ID 以拉取执行状态。在这种情况下如何设置协议测试?问题是动态生成的执行 ID。我知道提供者可以向消费者注入一些提供者状态。因此,可能会注入执行 ID。但我不确定如何从提供者端进行注入。它需要访问来自响应 A 的响应,并为第二个请求注入执行 ID(可能带有提供者状态回调)。
解决方案
您需要对提供程序中发生的事情进行大量控制,Pact 才能为您工作。
每个交互都是单独验证的(在某些框架中,以随机顺序进行),并且应该在交互之间清除所有状态,因此您需要使用提供者状态来设置任何由初始请求创建的数据。关于执行 ID 之类的内容,您可以使用生成仅用于 Pact 测试的 ID 的代码的不同实现。
推荐阅读
- python - MSE 或 RMSE 能否用于推文情绪分析
- objective-c - loadNibNamed:owner:topLevelObjects: 无法将按钮连接到控制器中的操作
- python - Pandas:在列值之间进行插值以返回索引名称
- zsh-completion - 如何在 macOS 上为 git 调试 ZSH 完成
- go - 向 gorilla websocket 连接发送任意 JSON
- java - 创建一个模拟信号量的类,但允许的数量不应超过 0
- python - 在 pyqtgraph 中用鼠标单击时从图形中获取图形坐标
- android - 在 android 上发布 ShapeRenderer 行为
- python - ValueError:无法将字符串转换为浮点数:'-'
- javascript - 为什么我不能在这里使用 mockResolvedValue?