*/ public classWeatherDataConvertTest { privateWeatherDataConvertconvert; private static doubleDETAL=0.1D; @Beforepublic voidsetUp(){ convert=newWeatherDataConvert(); } @Testpublic voidtestTemperature(){ WeatherData netData =newWeatherData(); WeatherData.DataBean dataBean =newWeatherData.DataBean(); dataBean.setTemperature(10D); netData.setData(dataBean); WeatherViewData viewData =convert.convertData(netData); //断言double弗成以用assertEquals(message,double1,double2)//须要改用下面的办法,DETAL为误差值assertEquals(viewData.getTemperature(),10D,DETAL); } @Testpublic voidtestTemperatureNull(){ WeatherData netData =newWeatherData(); WeatherData.DataBean dataBean =newWeatherData.DataBean(); netData.setData(dataBean); WeatherViewData viewData =convert.convertData(netData); //断言double弗成以用assertEquals(message,double1,double2)//须要改用下面的办法,DETAL为误差值assertEquals(viewData.getTemperature(),0D,DETAL); } } Convert类的顺利履行标记住Model层的测试美满停止,下面让我们来看一看MVP架构下的第二顺位View层的测试,如不雅我们不借助UI测试框架直接运行UI测试是无法获得预期的验证的,因为我们只会获得一个运行时异常。可是我们在构建工程之前已经下载了对应版本的安卓Sdk,为什么照样会抛出异常呢?在真机或是模仿器膳绫擎为什么不会呢?是不是IDE只为我们供给了工程的开辟与编译情况,并没有供给工程的运行情况呢?引用Linus Torvalds的那句经典的RTFSC,让我们经由过程源率攀来一点灯揭捉?证我们的猜想。起首我们找到SDK对应的android.jar文件,然后随便找个工程add as library,以我们最常用的Activity为例,源码如下:
- public WindowManager getWindowManager() {
-
- throw newRuntimeException("Stub!");
-
- }
-
- public Window getWindow() {
-
- throw newRuntimeException("Stub!"
推荐阅读
网络扫盲贴:10秒修复消失的网关地址
前几天收到了一名网友的乞助,表示他无法正常上彀,并且当他在查找断网原因刹那,竟然发明默认的网关地址也消掉了。面对这种情况,他表示不知该若何处理。实际上,出现默认网关空白的情况有下面几个原因。起首,可能>>>详细阅读
本文标题:安卓单元测试全攻略,让代码测试一劳永逸
地址:http://www.17bianji.com/lsqh/36696.html
1/2 1