【发布时间】:2018-01-22 22:05:32
【问题描述】:
我一直在网上寻找解决方案,如果有的话(UnitTest 和 Mockito 上的新功能)
是否可以测试一个返回服务调用的方法并在返回它之前操纵它的结果?示例;
public Observable<Reports> getUserReports(Integer userId) {
return serviceClient
.getReports(userId)
.flatMap(serviceReports -> {
System.out.println("Testing inside flatMap"); <- never reach this line therefore duno if methods down here are invoked and work perfectly
final Observable<List<Report>> reports = getPendingReports(userId, serviceReports);
//More methods that modify/update information
return zip(observable1, observable2, observable3
(report1, report2, report3) -> {
updateReports(otherArguments, report1, report2, report3);
return serviceReports;
});
});
}
到目前为止我已经尝试过;
@Test
public void myTest(){
when(serviceClient
.getReports(anyInt()))
.thenReturn(Observable.just(reports));
Observable<Reports> result = mocketClass.getUserReports(userId)
}
尝试使用 Spy 和 Mock,但到目前为止没有运气。任何提示或帮助都会很棒。
【问题讨论】: