• 使用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控制台显示绿条则证明测试通过。

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

  • 相关阅读:
    Python使用笔记20--网络操作小练习
    python使用笔记19--网络操作
    python使用笔记18--写日志
    python使用笔记17--异常处理
    python使用笔记16--操作redis
    列车调度
    三角形
    点亮灯笼
    数据读取
    codevs 1243 网络提速
  • 原文地址:https://www.cnblogs.com/wushaobo/p/4420098.html
Copyright © 2020-2023  润新知