我有一个类,它订阅依赖关系提供的可观察性,并存储结果订阅,以便在新请求传入时可以取消订阅。
public class A {
    private final Client client;
    private Subscription subscription;
    public void doSomething() {
        if (subscription != null && !subscription.isUnsubscribed()) {
            subscription.unsubscribe();
        }
        subscription = client.request().subscribe(/* log event */);
    }
}如何在不公开subscription的情况下测试取消订阅行为
我正在考虑模拟这个流程:
doSomething()来过一次电话。模拟client返回未发出任何内容的可观察到的O1。验证/* log event */没有发生。doSomething()又打来了。模拟client返回立即发出的可观察到的O2。验证/* log event */发生了。/* log event */没有再次发生。如果这是一种推荐的方法,我不知道如何让O1在测试的特定步骤发出项。
否则,是否有任何类似于TestObservable的TestSubscriber,可以在任何时候帮助验证订阅的数量?
发布于 2015-11-25 00:43:21
您可以使用observable.doOnSubscribe(action)和doOnUnsubscribe(action)来监视订阅事件。
https://stackoverflow.com/questions/33883927
复制相似问题