1
我想更好地瞭解如何使用Rx-Kotlin進行單元測試,但我無法成功設置主題爲「已完成」。因此,我總是等待5秒的時間(onComplete應該是立即的),然後在assertComplete上失敗。Rx-Kotlin awaitTerminalEvent永遠不會完成
我對awaitTerminalEvent的理解是,它應該只阻塞直到onComplete被調用。我也看過TestScheduler,,但我不相信這裏應該要求。
任何幫助或文檔,可以帶領我在正確的方向將不勝感激。
@Test
fun testObservable() {
val subject = BehaviorSubject.create<Int>()
subject.onNext(0)
TestSubscriber<Int>().apply {
subject.subscribe({
System.out.println(it)
subject.onNext(1)
subject.onComplete()
})
this.awaitTerminalEvent(5, TimeUnit.SECONDS)
this.assertComplete()
this.assertValue(1)
}
}
我知道我不應該在這樣的主題內發射,我只是想寫一個奇怪的測試。非常感謝! – sschmitz