2017-04-06 20 views
11

Tại sao trình biên dịch của tôi không cho phép bản thân mình đăng ký trên một Observable với một TestSubscriber?Không thể đăng ký trên RxJava 2 Có thể quan sát được với TestSubscriber

Dưới đây là mã của tôi:

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

Và nó nói rằng nó không thể giải quyết phương pháp subscribe được dùng tham số này. Nhưng trong tất cả các hướng dẫn kiểm tra RxJava, họ đang sử dụng TestSubscriber mà không có vấn đề như vậy. Tôi có thể làm gì để kiểm tra sự quan sát như vậy?

+2

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

Trả lời

13

Đó là vì *Subscriber có nghĩa là cho Flowable trong khi Observable sử dụng các lớp *Observer. Điều này là do dự trữ chuẩn dòng phản ứng Subscriber cho giao diện Publisher hoàn toàn tuân thủ mà Flowable thực hiện.

Ngoài ra với RxJava2 tất cả các lớp phản ứng có phương thức .test() sẽ trực tiếp cung cấp cho bạn đối tượng thử nghiệm thích hợp.

Các vấn đề liên quan