代码之家  ›  专栏  ›  技术社区  ›  Mark

如何使用Reactor的步进验证程序来验证Mono是否为空?

  •  6
  • Mark  · 技术社区  · 8 年前

    我在用 StepVerifier 要测试值:

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

    我现在想做的是测试单声道中是否缺少一个项目。这样地:

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

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

    1 回复  |  直到 8 年前
        1
  •  11
  •   Simon Baslé    8 年前

    简单使用 verifyComplete() 是的。如果 Mono 发出任何数据,它将使步验证程序失败,因为它不希望 onNext 此时发出信号。