如何解决来自 WebTestClient 的异常?
How to resolve the Exception from WebTestClient?
如何使用 WebTestClient
实现以下目标?
@Autowired
private MockMvc mvc;
mvc.perform(req)
.andExpect(status)
.andReturn().getResolvedException();
这完全不一样,我怎样才能真正解决Exception
?
@Autowired
private WebTestClient webTestClient;
webTestClient.post()
.exchange()
.returnResult(String.class)
.getResponseBody();
虽然下面的方法有效,但我不知道这是不是正确的方法:
...
.expectBody()
.consumeWith(res -> {
Exception ex = ((MvcResult) res.getMockServerResult()).getResolvedException();
assertEquals(ex instanceof MyException.class);
assertEquals("Hello Exception", ex.getMessage());
})
请注意,这仅在对类路径具有 spring-web
依赖性时才有效。只有 spring-webflux
,这会失败,因为 .getMockServerResult()
总是空的。
如何使用 WebTestClient
实现以下目标?
@Autowired
private MockMvc mvc;
mvc.perform(req)
.andExpect(status)
.andReturn().getResolvedException();
这完全不一样,我怎样才能真正解决Exception
?
@Autowired
private WebTestClient webTestClient;
webTestClient.post()
.exchange()
.returnResult(String.class)
.getResponseBody();
虽然下面的方法有效,但我不知道这是不是正确的方法:
...
.expectBody()
.consumeWith(res -> {
Exception ex = ((MvcResult) res.getMockServerResult()).getResolvedException();
assertEquals(ex instanceof MyException.class);
assertEquals("Hello Exception", ex.getMessage());
})
请注意,这仅在对类路径具有 spring-web
依赖性时才有效。只有 spring-webflux
,这会失败,因为 .getMockServerResult()
总是空的。