RxJava コード部分の単体テストに問題があります。以下の方法をテストしたいと思います。プレゼンター方式です。
public void onSearchQueryChanged(String searchQuery) {
backendService.getShopResultsCount(searchQuery)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(result -> {
if (isViewAttached()) {
getView().hideShopSearchInProgress();
getView().displayShopSearchResultCount(result.getSearchResponse().getNumberOfHits());
}
}, error -> {
if (isViewAttached()) {
getView().hideShopSearchInProgress();
}
});
}
最良の場合backendService
、特定の検索クエリとアタッチ/デタッチ ビューでこのユースケースをモックしてテストしたいと思います。
私はいくつかの調査を行いtoBlocking()
、test()
方法を認識しています。彼らは皆、私が利用可能であると想定していObservable
ます。どうにかしてメソッドを分割する必要があると思います。それに対するあなたのアプローチは何ですか?
私のスタック: RxJava2、短剣、MVP。