我有一个代表multipart/form-data
请求正文的字符串,我想解析它以便编写一个带有断言的单元测试。
我正在使用 springMultipartBodyBuilder
来构建请求的主体。然后我想对此请求进行单元测试,所以我正在使用MockWebServer
和调用takeRequest()
代码需要测试:
public Mono<MyType> myMethod(String property1) {
MultipartBodyBuilder bodyBuilder = new MultipartBodyBuilder();
bodyBuilder.part("property1", property1);
return webClient
.post()
.uri("/some-path")
.header(HttpHeaders.CONTENT_TYPE, MediaType.MULTIPART_FORM_DATA_VALUE)
.body(
BodyInserters.fromMultipartData(bodyBuilder.build())
)
.retrieve()
.bodyToMono(MyType.class));
}
考试:
public void myMethod() {
mockWebServer.enqueue(new MockResponse());
Mono<MyType> response = myClient.myMethod("testString");
StepVerifier.create(response)
.expectNextCount(1)
.expectComplete()
.verify();
RecordedRequest request = mockWebServer.takeRequest();
// here I want to assert that request.getBody() has a form field named "property1" with value "testString"
}
我不确定如何解析request.getBody()
我可以检查的 into 对象。是否有用于多部分请求正文的解析器?