如何模拟Spring Webclient

问题描述

我正在尝试使用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);
}

TestCase

  @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());
    }

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)