testing - 每个端点的 PACT 合同测试
问题描述
您好,正在做一些关于使用 PACT 进行合同测试的初步研究。在我使用契约代理来托管契约的范例中,我从高层次上理解,需要在消费者端进行契约测试,它针对契约模拟服务器运行一组测试......这将然后发布给协议代理。提供者还需要一个合同,在该合同中它使用消费者在契约代理上创建的契约来运行它的测试。
我的问题是:在消费者方面,是否需要为每个端点编写多个不同的测试?
解决方案
如果端点是指不同域上的不同 API,那么是的。
契约的概念是在任何一对消费者/提供者之间进行交互。例如,如果您有一个前端 SPA(消费者),它使用 2 个不同的 API(提供者),如身份验证 API(即 auth.yourdomain.com)和数据 API(如 data.yourdomain.com),您将希望将您的前端和身份验证 API 之间的交互记录为一个合同以及前端和您的数据 API 之间的另一个合同。
这些合约中的每一个都至少有一个交互,但可能有很多交互,例如,当您在身份验证 API 的根上执行 GET 请求时,如果您在 /auth 使用用户名/密码执行 POST,它会返回 X在正文中,它返回 Y 等。
那有意义吗?
推荐阅读
- ruby-on-rails - Rails 标题化导致“不兼容的编码正则表达式匹配”
- angularjs - 如何将包发布到 Bower
- google-chrome-extension - 从 Chrome 90 开始,无法修改 X-Frame-Options 的响应标头
- sql - 同一删除查询上的页面级死锁
- docker - 服务器上的免费半径忽略身份验证请求
- python - flask 和 sqlite 更新可能为空的值
- javascript - 如何在执行 gsap 动画(fullpage.js)之前使内容不出现
- python - 为什么python函数考虑关键字参数的最后一个值
- reactjs - “TypeError:在 API 单元测试期间无法读取 null 的属性‘createEvent’”,反应为 0.0.0-experimental-0eea57724
- angular - 等到构造函数完成初始化