作家
登录

安卓单元测试全攻略,让代码测试一劳永逸

作者: 来源: 2017-08-15 09:26:36 阅读 我要评论

Robolectric对于提示Tost的测试也是异常的简单,只须要:

媒介

  1. @Testpublic voidtestRequestFail() { 
  2.  
  3.     initResponse(); 
  4.  
  5.     Exception exception =newException("exception"); 
  6.  
  7.     Mockito.when(api.getWeather(queryMap)).thenReturn(Observable.error(exception)); 
  8.  
  9.     model.request(listener,"沈阳"); 
  10.  
  11.     Mockito.verify(listener).fail(null,"exception"); 
  12.  

安卓单位测试,只看这一篇就足够啦。真正的完全解析,真正的大年夜0到1,Junit结合Mockito与Robolectric实现大年夜M到V再到P,Jacoco扫描函数、逻辑、代码行数单位测试覆盖率100%的周全测试。你是否还在为了验证联网与未联网状况而频繁的开关WiFi开关?或者你是否还在为一个switch断定而频繁的应用debug断点setValue来不雅测代码的逻辑断定情况?又或者你是否还在为了校验某个UI案牍的┞俘确性而反复的比对UI稿?可能你会反问,难道写完代码自测也有错?当然不是,自测是一个优胜的习惯,不过作为一名工程师,你要做的不该该只是看看点点的黑盒测试,而是应当设计出一套可以或许让代码测试代码,一劳永逸的测试工程。

正文

起首我们大年夜Model层开端,经由过程具体代率攀来详尽解释一下一?单位测试覆盖率100%的测试工程是若何建立的。严格意义上讲,Model数据层负责数据加载与储存,是游离于安卓情况之外的存在,所以它可以不须要借助安卓SDK的支撑。应用Junit结合Mockito即可做到100%前提分支覆盖率的单位测试。如不雅项目标Model层有安卓依附,可能就注解此处的代码须要重构了,这也是单位测试个中的一个意义,让代码逻辑更清楚。清除Model层的安卓依附的另一层面好处是让测试case更高效,含有android依附的测试case履行最快也须要5秒,但对于一个没有安卓依附的Model类,跑完全部case的时光可以降低至毫秒级。所以,去除Model层所不须要的安卓依附照样很有须要的。

代码

Model层测试代码如下:

  1. @RunWith(MockitoJUnitRunner.class) 
  2.  
  3. public classWeatherModelTest { 
  4.  
  5.     privateWeatherModelmodel; 
  6.  
  7.     @Mock 
  8.  
  9.     ApiServiceapi; 
  10.  
  11.     @Mock 
  12.  
  13.     WeatherDataConvertconvertData; 
  14.  
  15.     @Mock 
  16.  
  17.     WeatherRequestListenerlistener; 
  18.  
  19.     private static finalStringJSON_ROOT_PATH="/json/"
  20.  
  21.     privateStringjsonFullPath; 
  22.  
  23.     privateWeatherDatanetData; 
  24.  
  25.     privateMapqueryMap; 
  26.  
  27.     @Before 
  28.  
  29.     public voidsetUp() { 
  30.  
  31.         RxUnitTestTools.openRxTools(); 
  32.  
  33.         model=newWeatherModel(); 
  34.  
  35.     } 
     1/11    1 2 3 4 5 6 下一页 尾页

      推荐阅读

      网络扫盲贴:10秒修复消失的网关地址

    前几天收到了一名网友的乞助,表示他无法正常上彀,并且当他在查找断网原因刹那,竟然发明默认的网关地址也消掉了。面对这种情况,他表示不知该若何处理。实际上,出现默认网关空白的情况有下面几个原因。起首,可能>>>详细阅读


    本文标题:安卓单元测试全攻略,让代码测试一劳永逸

    地址:http://www.17bianji.com/lsqh/36696.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)