Тест Одиночная задержка - PullRequest
0 голосов
/ 01 октября 2018

Я пытаюсь пропустить Single.delay (), и мой тест падает с ошибкой:

java.lang.AssertionError: Не завершено (защелка = 1, значения = 0, ошибки = 0, завершения = 0)

    val testScheduler = TestScheduler()
    RxJavaPlugins.setComputationSchedulerHandler { testScheduler }

    Single.just("")
            .delay(1, TimeUnit.SECONDS, testScheduler)
            .test()
            .assertComplete()

    testScheduler.advanceTimeBy(1, TimeUnit.SECONDS)

этот код работает нормально с Observable, есть ли способ пропустить .delay () для Single?

1 Ответ

0 голосов
/ 01 октября 2018

Вы утверждаете сразу, прежде чем вы даже переместили время.Утверждайте отдельно:

val testScheduler = TestScheduler()

val to = Single.just("")
        .delay(1, TimeUnit.SECONDS, testScheduler)
        .test()

to.assertEmpty();

testScheduler.advanceTimeBy(1, TimeUnit.SECONDS)

to.assertComplete();    

Также установка планировщика по умолчанию и использование настраиваемого планировщика с оператором не имеет смысла.

...