繁体   English   中英

契约测试功能因异常而失败,可能是由于不匹配

Pact Test function failed with an exception, possibly due to Mismatches

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

我是Pact合同测试的新手。 契约消费者测试似乎失败,并出现以下错误。

最初,如果我将try / catch放在api调用周围,则它通过了,但是当我删除它时,我收到了有关HtmlMessageConverter的异常,因为响应提取程序无法提取响应,因此将标头设置为(application / json&application / octate-stream)。 现在,在接受该标头之后,我得到了以下协定例外。

我在这里做错了什么?

Pact Test function failed with an exception, possibly due to Mismatches(mismatches=[PartialMismatch(mismatches=[BodyMismatch(expected=Map(OrderHeaderId -> ORD-001, ExternalOrderId -> 22194528), actual={"OrderHeaderId":"ORD-001","ExternalOrderId":"22194528"}, mismatch=Type mismatch: Expected Map Map(OrderHeaderId -> ORD-001, ExternalOrderId -> 22194528) but received String '{"OrderHeaderId":"ORD-001","ExternalOrderId":"22194528"}', path=$, diff=-{
-    "OrderHeaderId": "ORD-001",
-    "ExternalOrderId": "22194528"
-}
+"{\"OrderHeaderId\":\"ORD-001\",\"ExternalOrderId\":\"22194528\"}")])])
        String inputJson =
                "{\n" + "  \"OrderHeaderId\":\"ORD-001\",\n" + "  \"ExternalOrderId\": \"22194528\"\n" + "} ";

        return builder
            .given("order-created")
            .uponReceiving("a request to create order")
            .path(restOrderCreatePath)
            .method("POST")
            .headers(headers)
            .body(inputJson)
            .willRespondWith()
            .status(200)
            .body(jsonBody)
            .toPact();

      @Test
      @PactVerification(fragment = "createOrderPactWithRibbon")
      public void verifycreateOrderPactWithRibbon() throws Exception {


          Document document = new Document();
          document.put("OrderHeaderId","ORD-001");
          document.put("ExternalOrderId","22194528");

          // try {
          ResponseEntity<RestApiResponse<Document>> response =
              restApiService.processPostRequest(
                      document, restOrderComponentUrl, restOrderCreatePath);


         Assert.assertTrue("No data received in response.", !(response == null));
         /* } catch (Exception ignored) {
            ignored.printStackTrace();
         }*/
      }
问题暂未有回复.您可以查看右边的相关问题.
3 契约文件上载到契约代理失败

在将协定文件上载到协定代理中时出现“无法读取协定:NullPointerException”的问题。 以下是我的堆栈跟踪和POM文件的详细信息。 请帮忙。 以下是我的堆栈跟踪 以下是我的POM.xml ...

5 关于契约提供者测试

我正在使用pact在nodejs中进行合同测试,以下是我的查询, 契约提供者测试在控制台中显示两次,这意味着当我执行契约验证测试时,测试重复两次。 我已将“ publishVerificationResult”启用为true并提供了我的提供程序版本。 在运行提供程序测试后,我 ...

2018-01-19 17:16:08 0 167   pact
6 在契约的春天模拟测试

我正在尝试采用契约。 我理解方程式的消费者方面,它看起来非常好。 但我对生产者方面感到困惑。 文档似乎主张运行提供程序应用程序,并针对正在运行的服务器验证合同。 我不喜欢这样做。 首先,我需要为每个协议提供适当信息的数据库,至少可以说是痛苦的。 第二,启动应用程序将是一件麻烦 ...

8 契约匹配非JSON正文

有什么方法可以匹配非JSON主体(XML,字节或其他)。 寻找Python解决方案,但是会感激它背后的任何想法(甚至是monkeypatching)。 ...

2017-12-21 15:00:42 2 146   pact
10 XML 文件交换的契约测试

我们对使用休息调用和 kafka 消息进行通信的服务使用契约契约测试。 我们还想在通过 sftp 服务器交换 (xml) 文件的服务之间实现类似的合同测试框架。 我也许可以使用消息协议框架并将文件内容视为消息内容,但想知道是否有更好的替代方案。 无论我如何处理交换文件的消费者和生产者之间的合同测试, ...

2020-04-21 14:30:36 1 328   xml/ pact
暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2021 STACKOOM.COM