junit 如何验证消费者(REST API)

lstz6jyr  于 2023-08-05  发布在  其他
关注(0)|答案(1)|浏览(120)

目前尚不清楚如何验证消费者协议与MockAssert
1.在我们的案例中,我们希望验证消费者协议。
1.我们的API将允许用户创建订单和更新订单等
1.因此,OrderIds是自动生成的,消费者协定将始终具有相同的Id,我尝试了几种方法(JUnit5、junit等)
1.但我们可以让它工作。
我的期望是:
1.消费者契约请求将被接收,而我们的提供者契约将返回模拟响应。
有什么建议或样品吗?
我们尝试了以下样品,
https://docs.pact.io/implementation_guides/jvm/provider/junit5
https://docs.pact.io/implementation_guides/jvm/provider/junit

c7rzv4ha

c7rzv4ha1#

对于动态响应,您可以尝试称为Matchers的pact概念:

  1. JSON响应:你可以使用PactDslJsonBody类来跳过id的匹配,只需要检查它的类型即可。整数、字符串...
    https://docs.pact.io/implementation_guides/jvm/matching
  2. XML:您可以使用PactXmlBuilder类作为xml标记值。在XML中,如果你想跳过特定标签的匹配,那么我们可以简单地从消费者端XML中删除该标签。
    https://github.com/pact-foundation/pact-jvm/blob/7ff6491a0923e4709a8f78ab5451a99989559712/consumer/junit/src/test/java/au/com/dius/pact/consumer/junit/xml/TodoXmlTest.java

响应内容类型对于使用Matchers概念非常重要,对于xml API的响应类型必须分别为text/xml或application/xml,对于json应该是text/json或application/json

相关问题