我实现了一个服务,该服务轮询eyetracking事件并使用FlowableProcessor(RxJava 1.x中的PublishSubject)推送接收到的数据。整个轮询在不同的线程中运行,可以使用服务类方法启动和停止。
我为该服务编写了一个测试,但我不确定我是否正在做正确的事。
我的想法:
onComplete
事件(当服务提供非无限数据源模拟时自动发布)这是我的测试代码:
StreamService service = new StreamService(mockSource);
Flowable<ETData> stream = service.getStream();
TestSubscriber<ETData> testSub = new TestSubscriber<>();
stream.subscribe(testSub);
service.start();
testSub.await();
testSub.assertNoErrors();
testSub.assertComplete();
List<ETData> received = testSub.values();
assertEquals(2, received.size());
assertEquals(mockData0, received.get(0));
assertEquals(mockData1, received.get(1));
这没关系,还是我错过了什么?