【问题标题】:Can't subscribe on a RxJava 2 Observable with TestSubscriber无法使用 TestSubscriber 订阅 RxJava 2 Observable
【发布时间】:2020-05-22 05:32:00
【问题描述】:

为什么我的编译器不允许自己使用TestSubscriber 订阅Observable

这是我的代码:

TestSubscriber<User> testSubscriber = new TestSubscriber<>();
Observable.just(new User()).subscribe(testSubscriber);

它说它无法解析采用此参数的方法subscribe。但是在所有的 RxJava 测试教程中,他们都使用TestSubscriber 没有这样的问题。我该怎么做才能测试这样的Observable

【问题讨论】:

标签: android rx-java2


【解决方案1】:

这是因为*Subscriber 用于FlowableObservable 使用*Observer 类。这是因为反应流标准为 Flowable 实现的完全兼容的 Publisher 接口保留了 Subscriber

除了 RxJava2 之外,所有响应式类都有一个 .test() 方法,它将直接为您提供适当的测试对象。

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-03-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多