gpt4 book ai didi

project-reactor - Project Reactor 测试从未完成

转载 作者:行者123 更新时间:2023-12-03 19:48:41 24 4
gpt4 key购买 nike

我创建了一个简单的 Kafka 消费者,它返回 Flux对象(收到的消息),我正在尝试使用 StepVerifier 对其进行测试.

在我的测试中,我做了这样的事情:

Flux<Pojo> flux = consumer.start();
StepVerifier.create(flux)
.expectNextMatches(p -> p.getList().size() == 3)
.verifyComplete();

断言工作正常(如果我将值从 3 更改为其他值,则测试失败)。但是,如果断言通过,则测试永远不会退出。

我也尝试过使用 verify像这样的方法:
StepVerifier.create(flux)
.expectNextMatches(f -> f.getEntitlements().size() == 3)
.expectComplete()
.verify(Duration.ofSeconds(3));

在这种情况下,我收到此错误:
java.lang.AssertionError: VerifySubscriber timed out on false

知道我做错了什么吗?

最佳答案

卡夫卡 Flux可能是无限的,所以它永远不会发出 onComplete测试等待的信号。您可以调用.thenCancel().verify()如果您只对测试第一个值感兴趣。

关于project-reactor - Project Reactor 测试从未完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48813030/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com