单元测试.timeout()运算符不断返回TimeoutException

时间:2018-02-21 19:33:53

标签: kotlin rx-java rx-java2

花几个小时试图弄清楚为什么我的单元测试会在具有超时运算符的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)
    }

有人可以告诉我为什么价值观没有通过吗?

0 个答案:

没有答案