作家
登录

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

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

  •  
  •     } 
  •  
  • 起首经由过程@Mock注解对须要mock的对象进行初始化,然后我们须要对测试类进行测试case分析,WeatherModelmode类是一个收集请求数据model,所以这个model类的核心是request函数。起首对request函数进行分析。必须涵盖的测试点如下:请求参数校验,请求成功且返回码精确处理逻辑校验,请求成功但校验码缺点处理逻辑校验和请求掉败处理逻辑校验。同时Model类中还有一个不雅察者解绑函数,所以测试case也须要包含解绑函数处理逻辑测试这一项。经由过程initResponse,我们可以对接口返回值进行模仿,这里采取读Json文件的办法将接口返回做成Json数据文件,结合办事端的Swagger文档可以很随便马虎的实现办事端接口数据模仿。

    1. @Test@SuppressWarnings("unchecked")public voidtestParams() { 
    2.  
    3.     model.request(listener,"沈阳"); 
    4.  
    5.     try{ 
    6.  
    7.         Field fieldParam = WeatherModel.class.getDeclaredField("queryMap"); 
    8.  
    9.         Field fieldKey = WeatherModel.class.getDeclaredField("CITY"); 
    10.  
    11.         fieldParam.setAccessible(true); 
    12.  
    13.         setFinalStatic(fieldKey, true); 
    14.  
    15.         Map queryMaps = (Map) fieldParam.get(model); 
    16.  
    17.         String key = (String) fieldKey.get(model); 
    18.  
    19.         assertEquals("验证queryMap的Key",key,"city"); 
    20.  
    21.         String city = queryMaps.get("city"); 
    22.  
    23.         assertEquals("验证queryMap的value",city,"沈阳"); 
    24.  
    25.     } 
    26.  
    27.     catch(Exception e) { 
    28.  
    29.         //reflect error} 
    30.  
    31.     } 
    1. @Test@SuppressWarnings("unchecked")public voidtestRequestSuccess() { 
    2.  
    3.     initResponse(); 
    4.  
    5.     Mockito.when(api.getWeather(queryMap)).thenReturn(Observable.just(netData)); 
    6.  
    7.     ArgumentCaptor captor = ArgumentCaptor.forClass(WeatherData.class); 
    8.  
    9.     model.request(listener,"沈阳"); 
    10.  
    11.     Mockito.verify(api).getWeather(queryMap); 
    12.  
    13.     Mockito.verify(listener).showLoading(); 

        推荐阅读

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

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


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

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

    关键词: 探索发现

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

    网友点评
    自媒体专栏

    评论

    热度

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