首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Retrofit2的Android测试API调用

使用Retrofit2的Android测试API调用
EN

Stack Overflow用户
提问于 2016-02-22 11:14:19
回答 1查看 1.4K关注 0票数 1

我还没有在Android上做过任何测试,所以如果这似乎是一个愚蠢的问题,请耐心地回答我。我正在开发一个应用程序,它可以从restful服务中进行大量网络调用。为了进行网络呼叫,我使用Retrofit2RxJava

如果这些调用有效,那么最好的实践/框架是什么呢?我已经开始阅读测试的Google,它使用了Junit4Mockito,但是我不想在UI中做任何点击来启动测试,只是检查不同的API版本是否支持调用。

EN

回答 1

Stack Overflow用户

发布于 2016-02-22 23:03:15

下面是一些我正在使用的步骤:

  • 使用mockito & junit4,当然:)
  • 我避免对这些情况进行用户界面测试。
  • 将改装后的Api作为参数传递给要测试的类。
  • 在测试中,创建一个模拟改进api,将其作为参数传递,这样您就可以选择您想要的"Api“返回对象或错误(参见Mockito.when())。
  • 使用RxJava的TestSubscriber测试一种方法,例如Observable<Location> getLocationFromApi()
  • 避免测试类中的线程(例如,.observeOn(mainThread()))。如果不可避免的话,在awaitTerminalEvents中使用TestSubscriber。如果没有终端机,甚至重新考虑你的测试

一般提示:

  • 尝试模块化您的代码,这样每个类都有很少的功能,->更容易测试。
  • 耐心点,不要指望在一周内为5%的代码编写测试:)这是一个缓慢的过程,无论团队规模如何
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35552173

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档