首页 > 解决方案 > 每个端点的 PACT 合同测试

问题描述

您好,正在做一些关于使用 PACT 进行合同测试的初步研究。在我使用契约代理来托管契约的范例中,我从高层次上理解,需要在消费者端进行契约测试,它针对契约模拟服务器运行一组测试......这将然后发布给协议代理。提供者还需要一个合同,在该合同中它使用消费者在契约代理上创建的契约来运行它的测试。

我的问题是:在消费者方面,是否需要为每个端点编写多个不同的测试?

标签: testingpact

解决方案


如果端点是指不同域上的不同 API,那么是的。

契约的概念是在任何一对消费者/提供者之间进行交互。例如,如果您有一个前端 SPA(消费者),它使用 2 个不同的 API(提供者),如身份验证 API(即 auth.yourdomain.com)和数据 API(如 data.yourdomain.com),您将希望将您的前端和身份验证 API 之间的交互记录为一个合同以及前端和您的数据 API 之间的另一个合同。

这些合约中的每一个都至少有一个交互,但可能有很多交互,例如,当您在身份验证 API 的根上执行 GET 请求时,如果您在 /auth 使用用户名/密码执行 POST,它会返回 X在正文中,它返回 Y 等。

那有意义吗?


推荐阅读