refCount ведет себя неожиданно в этом случае использования. Это похоже на то, что при первоначальной подписке она больше не отправляется во второй подписке.
Почему refCount () не генерирует вторую подписку?
// Why does this test fail?
@Test
fun `refCount - on second subscription - emits value`() {
val subject = BehaviorSubject.create<Int>()
val observable = subject
.doOnNext { System.out.println("This emits for second subscriber") }
.replay(1)
.refCount()
.doOnNext { System.out.println("This does NOT emit for second subscriber") }
// This line causes the test to fail.
observable.takeUntil(Observable.just(Unit)).test()
subject.onNext(2)
val subscriber = observable.take(1).test()
val finished = subscriber.awaitTerminalEvent(2, TimeUnit.SECONDS)
assertTrue(finished)
}