无法使用 TestSubscriber 订阅 RxJava 2 Observable
Can't subscribe on a RxJava 2 Observable with TestSubscriber
为什么我的编译器不允许我用 TestSubscriber
订阅 Observable
?
这是我的代码:
TestSubscriber<User> testSubscriber = new TestSubscriber<>();
Observable.just(new User()).subscribe(testSubscriber);
它说它无法解析采用此参数的方法 subscribe
。但是在所有的RxJava测试教程中,他们都是使用TestSubscriber
没有这样的问题。我能做些什么来测试这样的 Observable
?
这是因为 *Subscriber
用于 Flowable
而 Observable
使用 *Observer
类。这是因为反应流标准为 Flowable
实现的完全兼容的 Publisher
接口保留 Subscriber
。
此外,对于 RxJava2,所有响应式 类 都有一个 .test()
方法,可以直接为您提供适当的测试对象。
对于 RxJava 1 → RxJava 2 迁移,我刚刚将 TestSubscriber
替换为 TestObserver
以使 Observable#subscribe
调用编译并工作。
为什么我的编译器不允许我用 TestSubscriber
订阅 Observable
?
这是我的代码:
TestSubscriber<User> testSubscriber = new TestSubscriber<>();
Observable.just(new User()).subscribe(testSubscriber);
它说它无法解析采用此参数的方法 subscribe
。但是在所有的RxJava测试教程中,他们都是使用TestSubscriber
没有这样的问题。我能做些什么来测试这样的 Observable
?
这是因为 *Subscriber
用于 Flowable
而 Observable
使用 *Observer
类。这是因为反应流标准为 Flowable
实现的完全兼容的 Publisher
接口保留 Subscriber
。
此外,对于 RxJava2,所有响应式 类 都有一个 .test()
方法,可以直接为您提供适当的测试对象。
对于 RxJava 1 → RxJava 2 迁移,我刚刚将 TestSubscriber
替换为 TestObserver
以使 Observable#subscribe
调用编译并工作。