正如标题所说,我必须以表单数据的形式存根带有请求正文的发布请求。没有 json、字符串或 xml。我正在使用 junit 和 wiremock 的 java api。
我正在做如下事情:
wireMockServer.stubFor(post(urlEqualTo(MY_URI))
.withRequestBody(
// how do I stub a body in form data format??
).willReturn(aResponse().withStatus(200).withHeader("content-type", "application/json").withBody(expectedBody))
);
Run Code Online (Sandbox Code Playgroud)
关于在代码中放置什么而不是注释的任何想法?
谢谢!
现在 WireMock 中没有特定的表单匹配器(应该有,而且我一直想继续研究它)。但是,您可以执行以下操作:
wireMockServer.stubFor(post(MY_URI)
.withRequestBody(containing("key1=value1"))
.withRequestBody(containing("key2=value2"))
.willReturn(okJson(expectedResponse));
Run Code Online (Sandbox Code Playgroud)
请注意,如果其中有任何元字符,则需要对 value1、value2 等进行 URL 编码。