0
我在玩着實現我自己的觀察者或從其他語言移植他們爲樂趣和利潤。如何在一般情況下測試非RxJava observables或異步代碼?
我遇到的問題是,關於如何正確測試observables或異步代碼的信息很少。一旦
// Create a stream of values emitted every 100 milliseconds
// `interval` uses Timer internally
final Stream<Number> stream =
Streams.interval(100).map(number -> number.intValue() * 10);
ArrayList<Number> expected = new ArrayList<>();
expected.add(0);
expected.add(10);
expected.add(20);
IObserver<Number> observer = new IObserver<Number>() {
public void next(Number x) {
assertEquals(x, expected.get(0));
expected.remove(0);
if(expected.size() == 0) {
stream.unsubscribe(this);
}
}
public void error(Exception e) {}
public void complete() {}
};
stream.subscribe(observer);
作爲流訂閱了,它發射的第一個值:
考慮以下測試代碼。調用onNext
...然後測試成功退出。
在JavaScript中,現在大多數測試框架都爲測試用例提供了可選的Promise,您可以在成功/失敗時異步調用該測試用例。有什麼類似的Java可用嗎?
的問題是,'TestSubscriber'需要一個RxJava兼容'Observer'這可能是我:( – Mamut
檢查API中,看到一隻承包商TestSubscriber不需要Observable;),所以它基本上就像是等待 – paul
謝謝!有用 :) – Mamut