Unit testing 如何使用WebFlux和Java8在代码下面进行单元测试?

Unit testing 如何使用WebFlux和Java8在代码下面进行单元测试?,unit-testing,spring-boot,spring-webflux,Unit Testing,Spring Boot,Spring Webflux,我想用WebFlux创建一个单元测试,但是我不知道怎么做,我需要在单元测试中介绍下面的100%调用方法 @Autowired private WebClient webClient; public String call(final String xml) { return this.webClient.post().uri("URL") .contentType(MediaType.APPLICATION_XML)

我想用WebFlux创建一个单元测试,但是我不知道怎么做,我需要在单元测试中介绍下面的100%调用方法

@Autowired
private WebClient webClient;

public String call(final String xml) {
    return this.webClient.post().uri("URL")
                         .contentType(MediaType.APPLICATION_XML)
                         .body(Mono.just(xml),String.class)
                         .retrieve()                             
                         .bodyToMono(String.class)
                         .block();
}

非常感谢有多少人能帮我

你不能真正地进行单元测试,你必须进行集成测试。启动您自己的Web服务器,提供有助于测试的内容。至少这是我唯一的想法

看看这里:


如果您想对其进行单元测试,最好使用类似的库模拟
WebClient
,但该函数看起来更值得进行集成测试,因为此时您实际上只需要测试模拟的功能。

可能的重复不是重复问题@EmreSavcı您可以使用WebTestClient,在这里查一下。。此外,StepVerifier也是可能的,请阅读此处:只是代码上的一个注释:最后的“block()”有点异味,因为如果您将被动世界放在方法的末尾,那么使用被动webclient并不能真正赢得任何东西。@Frischling我需要该方法返回一个字符串值。