java在需要存储反应式代码输出的测试中,如何使用StepVerifier而不是block()?
当我编写验证反应性组件的测试时,我通常使用带有以下模式的StepVerifier
:
StepVerifier.create(...)
.assertNext(...)
...
.verifyComplete();
这种方法工作得很好,但有时需要获取生成的值并使用它继续测试场景。在这种情况下,我必须切换到:
var producedValue = publisher.block();
assertThat(producedValue)...;
someOtherAction(producedValue);
后者是完全好的,正如预期的那样工作,但是我觉得我可能会错过一些东西,而且StepVerifier
API也应该有这样做的选项
在这种情况下,有没有办法避免阻塞,并且仍然坚持StepVerifier
# 1 楼答案
是否可以使用
consumeNextWith
运算符来获取值,而不使用block