【发布时间】:2021-11-23 19:16:14
【问题描述】:
我有一个使用 Spring Webflux 和反应器的服务层,我正在为此编写单元测试。我能够测试良好的响应场景,但不确定如何使用 StepVerifier 测试onErrorResume()。另外请告诉我是否有更好的方法来处理我的控制器中的异常(例如:使用switchIfEmpty())
这是我的控制器方法
public Mono<SomeType> getInfo(Integer id) {
return webClient
.get()
.uri(uriBuilder -> uriBuilder.path())
.header("", "")
.header("", "")
.header("", "")
.header(HttpHeaders.ACCEPT, MediaType.APPLICATION_JSON_VALUE)
.retrieve()
.bodyToMono(POJO.class)
.onErrorResume(ex -> {
if (ex instanceof WebFaultException)
return Mono.error(ex);
return Mono.error(new WebFaultException(ex.getMessage(), "Error on API Call", HttpStatus.INTERNAL_SERVER_ERROR));
});
}
}
【问题讨论】:
标签: java unit-testing mockito spring-webflux project-reactor