Я пишу простой тест, который эквивалентен:
Test fun testObservable() {
val returnedObservable = Observable.create(object : Observable.OnSubscribe<String> {
override fun call(t: Subscriber<in String>) {
t.onNext("hello")
t.onCompleted()
}
}).subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
val result = returnedObservable.toBlocking().first()
assertEquals("hello", result)
}
Тест блокируется на неопределенное время на returnedObservable.toBlocking().first()
, когда присутствует .observeOn(AndroidSchedulers.mainThread())
.
Есть ли способ преобразовать наблюдаемое, чтобы вернуть результат?
returnedObservable
возвращается из вызова метода с уже примененными .subscribeOn и .observeOn, поэтому их удаление невозможно.