Introducing TestObserver and TestSubscriber
As you read through this chapter, you may have developed an idea that the only way we can perform tests are through blocking the code, either by using blockingSubscribe
or by using blocking operators. But this is not the case. In fact, there are more comprehensive ways to reactive code, or rather we can say that we can test reactive code reactively.
To say it more precisely, in a Subscriber we have onError
and onComplete
that demands testing along with onNext
, which is not always possible with just blocking. Yes some sort of blocking is necessary, but it cannot alone do all the things and it also needs to be managed reactively.
So, here are your two superheroes to make the developers life easy—TestObserver
and TestSubscriber
. As with Subscriber
and Observer
, you can use TestSubscriber
with Flowables
and TestObserver
with Observables
, everything except that is similar between these two.
So, let's get started with an example:
@Test fun `test...