如何解决来自 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() 总是空的。