2
我正在测试此代码。如何模拟改造服务observable调用onError?
service.getProducts()
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Subscriber<Result<Catalog<SoajsProductPreview>>>() {
@Override
public void onError(Throwable e) {
view.showErrorView(e);
}
@Override
public void onNext(Result<Product> products) {
view.showProducts(products)
}
@Override
public void onCompleted() {}
});
测试view.showProducts()
模拟服务返回结果工作正常。 我做
when(service.getProducts().thenReturn(someObservable);
现在我想测试view.ShowErrorView()
被称为当服务抛出一个错误,但我无法找到一个方法来做到这一点:
显然以下不编译
when(service.getProducts().thenReturn(someException);
这立即引发异常,但不调用用户的onError
方法
when(service.getProducts().thenReturn(someException);
我怎样才能得到Subscriber.onError()
叫?