花几个小时试图弄清楚为什么我的单元测试会在具有超时运算符的Rx链上返回TimeoutException。没有任何运气,我把我的链条愚蠢到只有超时操作员,它仍然失败。
@Test
@DisplayName("Custom timeout")
fun customTimeout() {
val observer: TestObserver<Boolean> = TestObserver()
val scheduler = TestScheduler()
val subject: PublishSubject<Boolean> = PublishSubject.create()
subject.subscribeOn(scheduler)
.timeout(30, TimeUnit.SECONDS)
.subscribe(observer)
scheduler.advanceTimeBy(5, TimeUnit.SECONDS)
subject.onNext(true)
scheduler.advanceTimeBy(5, TimeUnit.SECONDS)
subject.onNext(false)
scheduler.advanceTimeBy(5, TimeUnit.SECONDS)
observer.await().assertValueCount(2)
}
有人可以告诉我为什么价值观没有通过吗?