在运行机器人测试时,Retrofit不会回调



在JVM下测试时,Retrofit没有回调。

测试应用程序与robolelectric (3.0), Wiremock(1.57:独立)和Mockito(1.10.19)。

应用程序使用Retrofit(1.9)连接后端API。应用程序有通过Retrofit调用API的服务,活动被绑定到这些服务。

测试运行的调试和日志显示活动调用服务,服务调用retrofit,而retrofit返回Wiremock的结果(如预期的那样)。

I/com.levld.client.rest。RestAdapterFactory: <——END HTTP(6208字节正文)W/com.levld.client.rest。RetrofitErrorHandler: Internal server error

内部服务器错误是为了触发Retrofit errorhandler(由Wiremock设置的状态码)。

在调试errorhandler时,当Retrofit试图回调服务时,处理将停止。调试器中的变量显示回调被设置为调用服务。

非常感谢您的帮助和建议!

通过为Retrofit设置同步执行器解决。这将触发api调用的同步执行,但仍然将结果作为回调返回给调用服务。服务层中的异步功能代码没有改变!

同步执行程序代码:https://stackoverflow.com/a/27341424/4413233.

注。robolelectric实际上是用于单元测试的

相关内容

  • 没有找到相关文章

最新更新