RxKotlin - Single.just() 在订阅 TestSubscriber 时不发出

RxKotlin - Single.just() does not emit when subscribing TestSubscriber

我以为这就是它的工作原理,好像我遗漏了什么..

@Test
fun singleCompletes()
{
    val testSubscriber = TestSubscriber<Boolean>()

    Single.just(true)
            .subscribeOn(Schedulers.immediate())
            .subscribe { testSubscriber }

    testSubscriber.assertNoErrors()
    testSubscriber.assertValue(true)
}

java.lang.AssertionError: Number of items does not match. Provided: 1 Actual: 0.

我认为你对 subscribe 的调用不正确。

看来你的意思是

Single.just(true)
    .subscribeOn(Schedulers.immediate())
    .subscribe(testSubscriber)

这将调用 subscribe(Subscriber<? super T> subscriber)

您的代码正在调用 subscribe(final Action1<? super T> onSuccess),这将解释您所看到的内容。