【发布时间】:2016-12-20 21:17:36
【问题描述】:
我在对 RxJava 代码部分进行单元测试时遇到了一些麻烦。我想测试下面的方法。这是一个presenter方法。
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、dagger、MVP。
【问题讨论】: