如何使用 Reactor 的 StepVerifier 来验证 Mono 是否为空?

我用来测试值:StepVerifier

@Test
public void testStuff() {
    Thing thing = new Thing();
    Mono<Thing> result = Mono.just(thing);
    StepVerifier.create(result).consumeNextWith(r -> {
        assertEquals(thing, r);
    }).verifyComplete();
}

我现在想做的是测试Mono中没有项目。喜欢这个:

@Test
public void testNoStuff() {
    Mono<Thing> result = Mono.empty();
    StepVerifier.create(result)... // what goes here?
}

我想测试Mono实际上是空的。我该怎么做?


答案 1

只需使用 .如果 发出任何数据,它将使步进验证器失败,因为它此时不需要信号。verifyComplete()MonoonNext


答案 2

这里检查onNext不叫

 StepVerifier.create(result).expectNextCount(0).verifyComplete()

推荐