2017-04-06 3 views
11

Warum erlaubt es mir mein Compiler nicht, auf einem Observable mit einem TestSubscriber zu abonnieren?Kann nicht auf einem RxJava 2 Observable mit TestSubscriber abonnieren

Hier ist mein Code:

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

Und es sagt, dass es nicht Methode auflösen kann subscribe, die diesen Parameter nimmt. Aber in allen RxJava Test-Tutorials verwenden sie TestSubscriber ohne solche Probleme. Was kann ich tun, um solche Observable zu testen?

+2

https://github.com/ReactiveX/RxJava/wiki/What-different-in-2.0#testing – akarnokd

Antwort

13

Es ist, weil *Subscriber für Flowable gemeint sind, während Observable die Klassen *Observer verwendet. Dies liegt daran, dass der reaktive Datenstrom-Standard Subscriber für die vollständig konforme Publisher Schnittstelle reserviert, die Flowable implementiert.

Zusätzlich haben alle reaktiven Klassen mit RxJava2 eine .test() Methode, die Ihnen direkt das entsprechende Testobjekt gibt.

Verwandte Themen