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

Posted on 2015-04-12 18:58  三班&吴少博  阅读(356)  评论(0编辑  收藏  举报

  我的上一篇博客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控制台显示绿条则证明测试通过。

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