无法使用 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 用于 FlowableObservable 使用 *Observer 类。这是因为反应流标准为 Flowable 实现的完全兼容的 Publisher 接口保留 Subscriber

此外,对于 RxJava2,所有响应式 类 都有一个 .test() 方法,可以直接为您提供适当的测试对象。

对于 RxJava 1 → RxJava 2 迁移,我刚刚将 TestSubscriber 替换为 TestObserver 以使 Observable#subscribe 调用编译并工作。