Java 类型不匹配:无法从通量转换<;字符串>;到Mono<;字符串>;
我已经使用反应堆通量和mono编写了一些单元测试。通量单元测试运行良好。在mono中不工作。请给我一个解决办法Java 类型不匹配:无法从通量转换<;字符串>;到Mono<;字符串>;,java,spring-webflux,Java,Spring Webflux,我已经使用反应堆通量和mono编写了一些单元测试。通量单元测试运行良好。在mono中不工作。请给我一个解决办法 @Test public void monoError() { Mono<String> monoError = Mono.just("HelloWorld").concatWith(Mono.error(new RuntimeException("error"))).log(); StepVerifier.create(monoError).expectN
@Test
public void monoError() {
Mono<String> monoError = Mono.just("HelloWorld").concatWith(Mono.error(new RuntimeException("error"))).log();
StepVerifier.create(monoError).expectNext("HellowWorld").expectErrorMessage("error").verify();
}
@测试
公共无效单错误(){
Mono monoError=Mono.just(“HelloWorld”).concatWith(Mono.error(新的运行时异常(“error”))).log();
StepVerifier.create(monoError).expectNext(“HellowWorld”).expectErrorMessage(“error”).Verifie();
}
您的代码片段无法编译
总之,“concatWith”操作符返回一个通量,因此您必须更改变量,其余的工作方式可能与您预期的一样
以下是工作代码:
@Test
public void monoError() {
Flux<String> monoError = Mono.just("HelloWorld")
.concatWith(Mono.error(new RuntimeException("error")))
.log(); ;
StepVerifier.create(monoError)
.expectNext("HelloWorld")
.expectErrorMessage("error")
.verify();
}
@测试
公共无效单错误(){
Flux monoError=Mono.just(“HelloWorld”)
.concatWith(Mono.error(新的运行时异常(“错误”))
.log();
StepVerifier.create(单错误)
.expectNext(“HelloWorld”)
.expectErrorMessage(“错误”)
.verify();
}
它指出了错误中存在的问题。如果您试图在Mono中保存Flux
,您可以调用single on Flux来获取Mono