为什么我的编译器不允许我用TestSubscriber
订阅Observable
?
下面是我的代码:
TestSubscriber<User> testSubscriber = new TestSubscriber<>();
Observable.just(new User()).subscribe(testSubscriber);
而且它说它不能解析带这个参数的subscribe
方法,但是在所有的RxJava测试教程中,他们使用的TestSubscriber
都没有这样的问题,我该怎么测试这样的Observable
呢?
3条答案
按热度按时间m1m5dgzv1#
这是因为
*Subscriber
是为Flowable
设计的,而Observable
使用*Observer
类,这是因为React流标准为完全兼容的Publisher
接口保留了Subscriber
,而Publisher
接口由Flowable
实现。此外,对于RxJava2,所有React类都有一个
.test()
方法,它将直接为您提供适当的测试对象。ufj5ltwl2#
对于RxJava 1到RxJava 2的迁移,我刚刚用
TestObserver
替换了TestSubscriber
,以使Observable#subscribe
调用编译并工作。xesrikrc3#
如果要使用
TestSubscriber
进行测试,可以将Observable
更改为Flowable
,如下所示: