Android 如何将意式浓缩咖啡与IdlingResource与RxJava';s主题
我对合并谷歌的浓缩咖啡测试自动化库有一个问题 在生产代码中,使用以下转换器将Android 如何将意式浓缩咖啡与IdlingResource与RxJava';s主题,android,rx-java,android-espresso,rx-android,Android,Rx Java,Android Espresso,Rx Android,我对合并谷歌的浓缩咖啡测试自动化库有一个问题 在生产代码中,使用以下转换器将调度器s应用于可观察: public SCProductionUiSchedulersTransformer() { schedulersTransformer = new Observable.Transformer() { @Override public Object call(Object observable) { return ((Observa
调度器
s应用于可观察
:
public SCProductionUiSchedulersTransformer() {
schedulersTransformer = new Observable.Transformer() {
@Override
public Object call(Object observable) {
return ((Observable) observable)
.subscribeOn(rxFactory.getIoScheduler())
.observeOn(rxFactory.getMainThreadScheduler());
}
};
}
在浓缩咖啡自动化测试中,使用以下各项:
public <T> SCIdlingUiSchedulersTransformer(Context context, final CountingIdlingResource countingIdlingResource) {
schedulersTransformer = new Observable.Transformer<T, T>() {
@Override
public Observable<T> call(Observable<T> observable) {
return observable
.subscribeOn(rxFactory.getIoScheduler())
.observeOn(rxFactory.getMainThreadScheduler())
.doOnSubscribe(new Action0() {
@Override
public void call() {
countingIdlingResource.increment();
}
})
.doOnTerminate(new Action0() {
@Override
public void call() {
countingIdlingResource.decrement();
}
});
}
};
}
public ScidlinguisSchedulerTransformer(上下文上下文,最终计数IDlingResource计数IDlingResource){
schedulersTransformer=新的可观察的.Transformer(){
@凌驾
公共可观察呼叫(可观察){
可观测回波
.subscribeOn(rxFactory.getIoScheduler())
.observeOn(rxFactory.getMainThreadScheduler())
.doOnSubscribe(新操作0(){
@凌驾
公开作废通知(){
countingIdlingResource.increment();
}
})
.doOnTerminate(新操作0(){
@凌驾
公开作废通知(){
countingIdlingResource.decrement();
}
});
}
};
}
CountingIdlingResource
是一种常规的Espresso
咖啡,用于通知自动化线程
应用程序未空闲,必须等待操作完成
对于常规的可观察的,以下代码可以正常工作
问题在于类型的可观察
。当然,它不起作用,因为订阅主题是在活动
启动时进行的,并导致自动化线程
挂起
有没有办法调整代码以使其适用于主题
?可能检测到可观察的是主体类型
看看不,它不起作用。我使用正常的可观察的,但不使用主题类型(PublishSubject
,Behavior Subject
,等等)。看看Nope,它不起作用。我使用正常的可观察的
,但不使用主题
类型(发布主题
,行为主题
,等等)。