Android 单元测试过程详解

android源代码中每个app下中都自带了一个test用例,下面主要介绍下camra单元测试用例 在AndroidManifest.xml中标明了测试用例instrumentation函数入口
Android 单元测试过程详解_第1张图片
camera启动性能测试
Android 单元测试过程详解_第2张图片
camera拍照压力测试,参数设定为反复拍照100次
Android 单元测试过程详解_第3张图片
Android 单元测试过程详解_第4张图片
如果想在android里面做单元测试,有两条基本的路子可行。

第一, 就是java程序员最为熟悉和常用的JUnit, 但是由于目前android sdk (version 1.1)中只是提供了stubbed methods/classes,没有具体的实现代码,所以如果用JUnit的话,我们需要在运行单元测试时,一定要用JDK来运行,利用java命令来启动JUnit的某个Runner。如果是用Eclipse的话,可以在Run Configuration里新建一个JUnit。但是一定要记得在Classpath选项卡里将Bootstrap Entries中的Android Library改成JRE,并且添加junit.jar。具体的设置可以参考:http://developer.android.com/guide /appendix/faq/troubleshooting.html#addjunit。而且,更为遗憾的是,这种方法运行的JUnit运行在JDK之上的,而不是android,所以,只能测试一些和android无关的东西,比如业务逻辑,数据封装,数值计算等等。并不能测试android api。

第二, 采用Instrumentation. Android单元测试的主入口是InstrumentationTestRunner。它相当于JUnit当中TestRunner的作用。你可以将 Instrumentation理解为一种没有图形界面的,具有启动能力的,用于监控其他类(用Target Package声明)的工具类。任何想成为Instrumentation的类必须继承android.app.Instrumentation。

下面通过一个实例来看一下如何通过Instrumentation来做单元测试。

Step 1.首先编写需要测试的activity:
Android 单元测试过程详解_第5张图片
Step 2.

接下来编写测试类,其中主要来测试add()方法。我们在当前代码目录下,在新建一个文件夹,命名为test,并在里面新建了包com.android.ut.test。然后往里面新增加一个class.具体如下:
Android 单元测试过程详解_第6张图片
Step 3.最后一步就是要改一下Manifest文件
Android 单元测试过程详解_第7张图片
需要注意的是,在这里面我加上了:

以及:
在这里插入图片描述
Step 4.运行

首先通过模拟器运行一下AndroidUT,然后在命令行终端中运行
在这里插入图片描述
这样你就可以看到测试结果了
在这里插入图片描述
后台测试log日志信息
Android 单元测试过程详解_第8张图片
在此向大家推荐一个学习群:903217991,里面有大牛准备好的各种学习资料,欢迎小伙伴加群下载哦!

你可能感兴趣的:(Android 单元测试过程详解)