【发布时间】:2017-08-24 16:05:57
【问题描述】:
我正在尝试使用 Reactor 的虚拟时间功能,但测试会无限期阻塞(无超时)或抛出 AssertionError(有超时):
@Test
public void test() {
StepVerifier.withVirtualTime(() ->
Flux.just(1, 2, 3, 4).delayElements(Duration.ofSeconds(1)))
.expectSubscription()
.expectNextCount(4)
.expectComplete()
.verify(Duration.ofSeconds(10));
}
例外是:
java.lang.AssertionError: VerifySubscribertimed out on reactor.core.publisher.FluxConcatMap$ConcatMapImmediate@66d1af89
与实时相同的示例按预期工作:
@Test
public void test2() {
StepVerifier.create(Flux.just(1, 2, 3, 4).delayElements(Duration.ofSeconds(1)))
.expectSubscription()
.expectNextCount(4)
.expectComplete()
.verify(Duration.ofSeconds(10));
}
我在参考Manipulating Time 之后的第一个示例中看不到错误。
怎么了?
【问题讨论】:
标签: java project-reactor