在尝试测试客户机类时,调用后存根可以正常工作,而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)));
我认为问题是您在get请求中期望一个“正文”,但get请求不能有正文(只有PUT
和POST
请求可以有正文)。
试着做下面的事情
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脚本抱怨变量为空