我正在尝试使用 mockito 编写单元测试用例,但在调用检索时出现空指针异常。有人可以帮我解决这个问题吗?
方法
public Mono<String> retrieveSites() {
return restAPIClient.get().uri(builder -> builder.path("/someurl")
.queryParam("param1","value1")
.queryParam(param2,"value2")
.build())
**.retrieve()**
.onStatus(HttpStatus::is4xxClientError, this::processClientError)
.onStatus((HttpStatus::isError), this::processServerError).bodyToMono(String.class);
}
测试用例
@Test
public void shouldReturnRetrieveSites() {
when(webClient.get()).thenReturn(requestHeadersUriSpec);
when(builder.path(anyString())).thenReturn(builder);
when(builder.queryParam(anyString(), anyString())).thenReturn(builder);
when(builder.path(anyString())).thenReturn(builder);
when(requestHeadersSpec.retrieve()).thenReturn(responseSpec);
when(responseSpec.bodyToMono(ArgumentMatchers.<Class<String>>notNull())).thenReturn(Mono.empty());
assertNotNull(webClientService.retrieveSites());
}