码迷,mamicode.com
首页 > 移动开发 > 详细

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

时间:2015-04-12 20:38:48      阅读:232      评论:0      收藏: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控制台显示绿条则证明测试通过。

技术分享

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

技术分享

 

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

标签:

原文地址:http://www.cnblogs.com/wushaobo/p/4420098.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!