无法使用TestSubscriber订阅RxJava 2 Observable

时间:2017-04-06 12:40:46

标签: android rx-java2

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

这是我的代码:

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

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

2 个答案:

答案 0 :(得分:18)

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

此外,对于RxJava2,所有反应类都有.test()方法,它将直接为您提供适当的测试对象。<​​/ p>

答案 1 :(得分:0)

对于RxJava 1→RxJava 2迁移,我刚刚将TestSubscriber替换为TestObserver来进行Observable#subscribe的调用编译和工作。