当前位置: 首页 > 知识库问答 >
问题:

WireMook-在身体不工作的情况下进行短截取,而后短截取工作正常

林曦之
2023-03-14

在尝试测试客户机类时,调用后存根可以正常工作,而GET不能正常工作。我在这里做错了什么/没有正确理解?

客户代码(POST):

HttpResponse httpResponse = new DefaultHttpRequestBuilder(HttpMethod.POST, SERVICE_URL_GET_MAGIC)
                .withBody(parseMagic(magicName))
                .execute();

带短截(POST):

stubFor(post(urlEqualTo("/api/get-magic"))
        .withRequestBody(equalToJson(magicNameParsed))
        .willReturn(aResponse()
                .withHeader("Content-Type", "application/json")
                .withBody(magicDtoParsed)));

正常工作(httpResponse将有200个OK)。

GET use时,它不会存根api调用(httpResponse将为404 Not found)。

HttpResponse httpResponse = new DefaultHttpRequestBuilder(HttpMethod.GET, SERVICE_URL_GET_MAGIC)
                    .withBody(parseMagic(magicName))
                    .execute();

stubFor(get(urlEqualTo("/api/get-magic"))
        .withRequestBody(equalToJson(magicNameParsed))
        .willReturn(aResponse()
                .withHeader("Content-Type", "application/json")
                .withBody(magicDtoParsed)));

共有1个答案

邵鸿福
2023-03-14

我认为问题是您在get请求中期望一个“正文”,但get请求不能有正文(只有PUTPOST请求可以有正文)。

试着做下面的事情

stubFor(get(urlEqualTo("/api/get-magic"))
        .willReturn(aResponse()
                .withHeader("Content-Type", "application/json")
                .withBody(magicDtoParsed)));

请注意,我已经删除了行. with Request estBody(equalToJson(magicNameParses))

顺便说一下。Stabking是指你用刀或尖锐的物体伤害某人/某物的时候。Stubs是你在上下文测试中说话时要用的词:)

 类似资料:
  • 我有一个很奇怪的问题。 我有一个SSIS包,它将数据从Oracle源传输到OLE DB目标。转移工作很好。在传输之前,SQL任务应该截断目标。 我不知道为什么它不起作用。 希望你能帮我。

  • 此代码在本地主机上完美工作,但在线时需要太长时间才能进入下一页,并且在线时不会向手机发送短信。虽然它正在生成密码,但没有将其发送到手机,并且需要太多时间来生成。但是本地主机正在发送msg。

  • 我有一个数据框,其中一列有字符串值,另一列有整数,但这些列有特殊字符,或者字符串数据有整数。因此,为了删除它,我使用了regex,我的regex可以正常工作,但是对于整数列,如果'abc123'是,那么它不会删除abc,如果'123abc'是,那么它不会删除它。我不知道是模式错误还是代码错误。下面是我的代码, 输出: 如您所见,它已在

  • 我正在建立一个应用程序,并使用MariaDB作为我的数据库。我有一张桌子“kick_votes”。其主键包含三个字段: null

  • 我有HTML+CSS页面,其中有两个按钮: 我想让“顶级评论”默认可见。所以在本页的最后,我将简单的JavaScript 自动点击“顶部评论”按钮。 在我的开发环境中,一切都运行良好。但当将代码上传到启用CloudFlare的生产服务器时。JavaScript click()函数不起作用。 我已经为这个问题给CloudFlare的支持写了信,但两天后仍然没有任何回应。 对于我如何调试为什么这个Ja

  • 我正在用GoogleVolley Api创建一个android应用程序,它处理我的应用程序和php脚本之间的连接。出于某种原因,该应用程序没有向我的服务器发送任何数据,也许这里的某个人可以找到它? 我的方法被正确调用,但是当我尝试打印它时,它返回null!一切实际上都在工作,除了数据没有正确传递,我相信,因为我的php脚本抱怨变量为空