使用junit框架对安卓应用进行单元测试 20150412

  我的上一篇博客http://www.cnblogs.com/wushaobo/p/4396308.html,开发了一个简单安卓app闰年测试。在这里,使用junit框架对这个app进行简单的单元测试。

  为了方便进行测试,我将程序做了简单的修改,将toast提示改为页面文本,添加回车事件响应闰年判断。效果如下:

技术分享技术分享

1.测试准备

在实际开发中,开发android软件的过程需要不断地进行测试。而使用Junit测试框架,则是正规Android开发的必用技术。

测试使用eclipse + ADT +android SDK做为开发环境

1).首先新建一个android测试项目,我将其命名为test

技术分享

指定需要测试的项目

技术分享

2).配置框架

打开test项目下的AndroidManifest.xml清单文件,将以下红色框中的代码复制粘贴到闰年测试项目的AndroidManifest.xml清单文件中,拷贝的节点一定要准确。

技术分享

3).创建测试用例

在test项目下新建一个包

技术分享

在这个包里新建一个junit测试用例

技术分享

使这个类继承android.test.ActivityInstrumentationTestCase2类

技术分享

4).创建构造函数

1 public class Testleap extends ActivityInstrumentationTestCase2<MainActivity> {
2 
3     public Testleap(String name) {
4         super(MainActivity.class);
5     }
6 }

右键选择源代码->覆盖实现方法,选择setUp()和tearDown()方法。在类被创建的时候做一些初始化全局变量的操作。

技术分享

5).编写测试函数

最终代码如下:

 1 package com.leap.leapyear.test;
 2 
 3 import com.leap.leapyear.MainActivity;
 4 import com.leap.leapyear.R;
 5 
 6 import android.test.ActivityInstrumentationTestCase2;
 7 import android.view.KeyEvent;
 8 import android.widget.TextView;
 9 
10 public class Testleap extends ActivityInstrumentationTestCase2<MainActivity> {
11 
12     private TextView result;
13 
14     public Testleap(String name) {
15         super(MainActivity.class);
16     }
17     
18     @Override
19     protected void setUp() throws Exception {
20         super.setUp();
21         MainActivity mainActivity = getActivity();
22         result =(TextView)mainActivity.findViewById(R.id.result);
23     }
24 
25     @Override
26     protected void tearDown() throws Exception {
27         super.tearDown();
28     }
29     
30     public void Testleapyear() throws Exception{
31         sendKeys(KeyEvent.KEYCODE_2);
32         sendKeys(KeyEvent.KEYCODE_0);
33         sendKeys(KeyEvent.KEYCODE_1);
34         sendKeys(KeyEvent.KEYCODE_2);
35         sendKeys(KeyEvent.KEYCODE_ENTER);
36         String leapResult = result.getText().toString();
37         assertEquals("是闰年",leapResult);
38     }
39 
40 }

 

6).运行单元测试

右键调试函数运行

技术分享

7).测试结果

在junit控制台显示绿条则证明测试通过。

技术分享

修改测试用例为非法输入则测试不通过

技术分享

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。