Testing asynchronous RxJava code using Mockito
Tag: rx
Loading data from few sources by rxjava
[code language=”java”]
Observable<Data> memory = …;
Observable<Data> disk = …;
Observable<Data> network = …;
// Retrieve the first source with data
Observable<Data> source = Observable
.concat(memory, disk, network)
.first();
[/code]
Save data to cache
[code language=”java”]
Observable<Data> networkWithSave = network.doOnNext(data -> {
saveToDisk(data);
cacheInMemory(data);
});
Observable<Data> diskWithCache = disk.doOnNext(data -> {
cacheInMemory(data);
});
[/code]
Update data
[code language=”java”]
Observable<Data> source = Observable
.concat(memory, diskWithCache, networkWithSave)
.first(data -> data.isUpToDate());
[/code]
Kotlin + Retrofit + Rx
Rambler android developing testing
MVP; retrofit; retrolambda; DI; dagger 2; TDD; unit testing; functional testing; integration testing;