微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

一项测试中使用的存根和合同

如何解决一项测试中使用的存根和合同

我对创建用于集成测试的合同(groovy 文件)非常陌生,我有一些问题。我有一个对端点的 3 次调用的集成测试 - 第一次调用是使用 url /abc/ab 服务 A,第二次调用是使用 url /xyz/xas 服务 B,第三次调用是服务 C。此刻调用被绊倒了。如果有对 abc/ab 的调用,则返回响应 X。如果有对 /xyz/xas 的调用,则返回响应 Y 等。我在服务 A 创建了一个合同(groovy 文件),我想在以下位置使用它我的测试。但是我没有服务 B 和 C 的合同,我想使用我已经拥有的存根。在我的设置类中,我有服务 B 和服务 C 的 stubDynamicMappings 和存根,但我的构建失败了。错误是当调用 /xyz/xas 时,它在我的合同中搜索并且没有匹配的请求(因为在合同中我正在等待请求带有 url /abc/ab) 请建议 :) 谢谢!

代码:我在服务 A 中的合同是:

*Contract.make {
  request {
  method ‘GET’
  url value(consumer(‘/abc/ab/002’),producer (‘/abc/ab/002’))*

.... 在服务 B 中,我使用以下代码进行集成测试:...

*verify (1,getRequestFor(urlPathMatching (“/abc/ab/002”);
 verify (1,postRequestFor(urlPathMatching (“/xyz/xas”);*

...也在服务 B 我有

 stubFor (“/xyz/xas”)

和使用我的合同的设置我的错误是:最相似的请求是:预期

POST /xyz/xas > 但是是

当我评论第二个验证语句时,一切正常。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。