网上关于Android单元测试的文字帖子不胜枚举,看完之后能解决问题是好事,不能解决问题那就是浪费时间和经历。大多数文章来自于这篇文章:http://rexstjohn.com/unit-testing-with-android-studio/


    自从投入到Android Studio IDE之后基本上就赖着不走了。这里仅讨论AS(Android Studio)中Android单元测试。


开发一个Android应用单元测试这种程序员的自我修养和基本道德测试是必不可少的。其单元测试分为两块,一块是依赖Android API(平台)的单元测试,一块是不依赖Android API的单元测试。


1.不依赖AndroidAPI的单元测试

这一块就和通常开发JavaSE,EE应用的单元测试一样,测试框架更加需要自行选择即可。在通过AS创建Android应用模块时,默认在build.gradle文件中添加了测试库junit依赖。


如果在AS中使用不依赖AndroidAPI的单元测试,一图顶万言:


[Android学习十一]Android开发单元测试_第1张图片wKioL1agjf3S6xY1AABetvcjU0I158.png

图一 图二


如图二所示,在Build Variants的Test Artifact设置为Unit tests之后,test源码目录呈现出IDEA风格的绿色目录。 这是就可以运行测试类或测试套件,比较容易就不多解释了。


2. 依赖Android API的单元测试


2.1 AS中配置Android单元测试


Android基于junit3框架提供了Android的单元测试框架,要在Android中使用单元测试就需要依赖android.test包下的具体类。下面是AS中配置Android单元测试的方法:


wKiom1agjt7R8Qb7AAEg-StiPA8246.png


图三

2.2 Android单元测试示例


2.2.1 一个单元测试类:

packagesecondriver.heathfood.test;importandroid.test.InstrumentationTestCase;importcom.orhanobut.logger.Logger;importsecondriver.heathfood.App;importsecondriver.heathfood.logic.TianGou;importsecondriver.heathfood.pojo.FoodClassResult;importsecondriver.heathfood.pojo.FoodDetail;importsecondriver.heathfood.pojo.FoodDetailResult;/***Author:secondriver*Created:2016/1/20*/publicclassTestTianGouextendsInstrumentationTestCase{publicTianGoutianGou;publicvoidsetUp(){tianGou=newTianGou(App.restTemplate());}publicvoidtest_queryFoodClassByParentId1(){FoodClassResultresult=tianGou.queryFoodClassByParentId(0);assertTrue(result.isStatus());}}



关于Android的单元测试基类参见:

http://www.oschina.net/question/54100_27061?fromerr=NydwIvQR

http://www.uml.org.cn/mobiledev/201306074.asp

注意:Android单元测试的测试类写法遵循的是Junit3.

2.2.2 执行单元测试

在执行单元测试之前,讲Build Variant的Test Artifact设置为图一所示值。


执行Android Tester之后,输出截图:


wKiom1agkCewIdOgAAA9lXBzGLg080.png

图四

从截图上得知未授网络访问权权限。


2.2.3 AS中Android单元测试控制台

wKiom1agkKiTGT5pAABnZo5LjPQ465.png

图五



在网上找关于Android单元测试的案例时,比较杂乱,遂作此文予以整理,Android单元测试如何去做当是另外的主题,需要参考android.test包中提供的具体类。



文中的android测试类的包直接创建在了main代码目录下,比较好的方式如下Android测试代码目录结构图:


wKiom1agl5rAgMotAABZK25bMQk778.png

图 六

更多相关文章

  1. Android--Android主流网络框架
  2. Appium自动化测试Android
  3. Android Robotium搭建环境测试微信
  4. ijkplayer入门之目录介绍及编译
  5. 用.Net打造一个移动客户端(Android/IOS)的服务端框架NHM(四)——Andr
  6. Android视频框架 Vitamio 打造自己的万能播放器
  7. android测试工具MonkeyRunner--google官网翻译
  8. Android数据库ORMlite框架翻译系列

随机推荐

  1. 实例5--自动换行(修订版)
  2. Android快捷方式
  3. 聊聊 Android 开发的现状和未来思考
  4. android第一天(小有成就,散分)
  5. Android Marekt 上下平板 Android Market
  6. 将已有的Android从Eclipse手动迁移到Andr
  7. 最近Android真的凉凉了?
  8. Android 的消息机制之 Handler
  9. Android(安卓)仿微信聊天图片
  10. Android--自定义视图控件(一)(Android St