为什么我的编译器不允许自己使用TestSubscriber订阅Observable?
这是我的代码:
TestSubscriber<User> testSubscriber = new TestSubscriber<>();
Observable.just(new User()).subscribe(testSubscriber);
并且它说它无法解决采用此参数的方法subscribe
。但是在所有RxJava测试教程中,他们都使用TestSubscriber而没有这些问题。我该怎么做来测试这样的Observable?
答案 0 :(得分:18)
这是因为*Subscriber
适用于Flowable
而Observable
使用*Observer
类。这是因为Subscriber
实现的完全符合Publisher
接口的反应流标准保留Flowable
。
此外,对于RxJava2,所有反应类都有.test()
方法,它将直接为您提供适当的测试对象。</ p>
答案 1 :(得分:0)
对于RxJava 1→RxJava 2迁移,我刚刚将TestSubscriber
替换为TestObserver
来进行Observable#subscribe
的调用编译和工作。