Reactor 测试步骤验证器 - 检查每个下一个事件是否与谓词匹配

pix*_*xel 2 kotlin project-reactor

我想验证每个 onNext 发射是否与给定的谓词匹配。

我试过expectNextMatches

StepVerifier.create(...)
    .expectNextMatches { it.status != "SUCCESS" }
    .expectComplete()
    .verify()
Run Code Online (Sandbox Code Playgroud)

然而,它只匹配一种发射,而不是每一种。

lka*_*ris 6

有一个运算符可以实现这一点:

StepVerifier.create(...)
    .thenConsumeWhile(it -> it.status != "SUCCESS")
    .expectComplete()
    .verify();
Run Code Online (Sandbox Code Playgroud)

如果序列中有任何元素不匹配,则会StepVerifier出错。

  • 小事:你可以用简单的“verifyComplete()”替换“expectComplete()”和“verify()”;) (2认同)