我试图模拟 .header 但它不起作用,有人有想法吗?
我尝试用 when(requestHeadersSpec.header(notNull(), notNull())).thenReturn(requestHeadersSpec); 或类似的东西来模拟标头,但我不起作用,有人有想法吗?
return defaultWebClient
.get()
.uri(some uri)
.headers(httpHeaders -> httpHeaders.set("Content-Type", "application/pdf"))
.retrieve()
.bodyToFlux(DataBuffer.class)
…… 这
就是我尝试编写单元测试的方式 when(defaultWebClient.get()).thenReturn(requestHeadersUriSpec); doReturn(requestHeadersSpec).when(requestHeadersUriSpec).uri(anyString()); Mockito.when(requestHeadersSpec.header(anyString())).thenReturn(requestHeadersSpec); when(requestHeadersSpec.retrieve()).thenReturn(responseSpec); DefaultDataBufferFactory 工厂 = new DefaultDataBufferFactory();
DefaultDataBuffer dataBuffer =
factory.wrap(ByteBuffer.wrap("{\"username\":\"foo\",\"password\":\"bar\"}".getBytes(StandardCharsets.UTF_8)));
when(responseSpec.bodyToFlux(DataBuffer.class))
.thenReturn(Flux.just(dataBuffer));
i tried to mock the header with when(requestHeadersSpec.header(notNull(), notNull())).thenReturn(requestHeadersSpec);, or something similar but i does not work, does anyone has an idea?
return defaultWebClient
.get()
.uri(some uri)
.headers(httpHeaders -> httpHeaders.set("Content-Type", "application/pdf"))
.retrieve()
.bodyToFlux(DataBuffer.class)
.....
}
this is how i tried to write the unit test
when(defaultWebClient.get()).thenReturn(requestHeadersUriSpec);
doReturn(requestHeadersSpec).when(requestHeadersUriSpec).uri(anyString());
Mockito.when(requestHeadersSpec.header(anyString())).thenReturn(requestHeadersSpec);
when(requestHeadersSpec.retrieve()).thenReturn(responseSpec);
DefaultDataBufferFactory factory = new DefaultDataBufferFactory();
DefaultDataBuffer dataBuffer =
factory.wrap(ByteBuffer.wrap("{\"username\":\"foo\",\"password\":\"bar\"}".getBytes(StandardCharsets.UTF_8)));
when(responseSpec.bodyToFlux(DataBuffer.class))
.thenReturn(Flux.just(dataBuffer));
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
你可以尝试下面的方法
You can try something like below