作家
登录

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

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

  1. dependencies { 
  2.  
  3.     classpath'com.vanniktech:gradle-android-junit-jacoco-plugin:0.6.0' 
  4.  

起首们来看看convert类代码:

  1. /** 
  2.  
  3. * Author : YangHaoyi on 2017/6/28. 
  4.  
  5. * Email  :  yanghaoyi@neusoft.com 
  6.  
  7. * Description :收集数据与视图数据转换器 
  8.  
  9. * Change : YangHaoYi on 2017/6/28. 
  10.  
  11. * Version : V 1.0 
  12.  
  13. */ 
  14.  
  15. open classWeatherDataConvert { 
  16.  
  17.     open funconvertData(netData: WeatherData):WeatherViewData{ 
  18.  
  19.         valviewData=http://mobile.51cto.com/ WeatherViewData()
  20.  
  21.         viewData.temperature= netData.data?.temperature?:0.0viewData.weatherType= netData.data?.weatherType?:1viewData.ultraviolet= netData.data?.ultraviolet?:0viewData.rainfall= netData.data?.rainfall?:"0"viewData.hourTemperature= netData.data?.hourTemperature?:"10"viewData.windPower= netData.data?.windPower?:"2"returnviewData 
  22.  
  23.         } 
  24.  

大年夜代码可以看出我们的convert类看起来竽暌剐一些的奇怪,每错,因为它并不是java代码,它是kotlin。好好的java工程为什么要混入kotlin,单单只是为了炫技么?当然不是,数据转换类的感化是对收集数据进行判空并包装成视图数据,我们都知道在java中的判空,须要层层嵌套,例如,我们须要断定Student类中的Score类中的EnglishScore字段,我们的写法如下:

  1. if(Student!=null&&Student.getScore()!=null&&Student.getScore().getEnglishScore()!=null){} 

这是一个很独裁的断定,而对于kotlin我们只须要写Student?.score?.englishScore即可,代码量巨减有没有。对于kotlin的特点,有兴趣的同窗可以移步官网去具体懂得。

让我们回归单位测试,convert类是一个数据判空类,它的感化是对数据进行组装并付与默认初值,因为办事端的数据弗成控,作为手机端我们不克不及把用户体验完全依附于后端的兄弟,因为放过任何一个null数据对于App都是一个Crash。所以我们的测试点就是,这个类是否达到了当数据为空的时刻付与默认值,当数据不为空的时刻取收集数据值的感化。这里拔取一个比较有代表性的testTemperature为例,起首设定模仿WeatherData的值为10D,因为收集数据有值,所以会取收集数据的值即10D,经由过程assertEquals可以进行断言比对验证,不过有一个须要留意的是double型的断言assertEquals(message,double1,double2)是弗采取的,直接运行的话会报测试掉败。Double的比对须要加上一个误差值,这里给一个误差值0.1D,再次运行,测试条变绿。同时我们须要测试当WeatherData为空的情况下,viewData是否被付与了默认值0.0。以词攀类推,我们须要对每一条数据进行校验,并包装成视图数据。

  1. /** 
  2.  
  3. * Author : YangHaoyi on 2017/7/7. 
  4.  
  5. * Email  :  yanghaoyi@neusoft.com 
  6.  
  7. * Description : 
  8.  
  9. * Change : YangHaoYi on 2017/7/7. 
  10.  
  11. * Version : V 1.0 

      推荐阅读

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

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


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

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

关键词: 探索发现

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

网友点评
自媒体专栏

评论

热度

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