zoukankan      html  css  js  c++  java
  • Android入门:单元测试


    一、Android的Junit测试


    一般的JUnit我们都用过,而针对Android的JUnit也是类似于这种,显示的结果也是绿条和红条。

    单元测试整体框架如下:

     

    我们这里只介绍其中一个类:AndroidTestCase;



    二、AndroidTestCase


     

    程序描述:新建一个Android项目:Activity,添加一个EditText,其他不做任何事;

    import android.app.Activity;
    import android.os.Bundle;
    import android.widget.EditText;
    
    public class MainActivity extends Activity {
    	private EditText et1;
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
            et1 = (EditText)this.findViewById(R.id.et1);
            if(savedInstanceState!=null){
            	et1.setText(savedInstanceState.getString("name"));
            }
        }
        public int add(int a,int b){
        	return a+b;
        }
    }

     

    如果我们要进行单元测试通常有两种方法:

    (1)直接在项目工程下创建单元测试

    (2)创建一个Android Test Project

     

    1.直接创建单元测试类


    步骤1:在AndroidManifest.xml中添加如下:

        <application
            android:icon="@drawable/ic_launcher"
            android:label="@string/app_name" >
            <uses-library android:name="android.test.runner" /> //添加此行代码
        </application>

     

     

    <application/> 
    <instrumentation
            android:name="android.test.InstrumentationTestRunner"
            android:targetPackage="org.xiazdong" /> //要测试的Activity所在包



    步骤2:添加单元测试类

    import org.xiazdong.MainActivity;
    
    import android.content.Context;
    import android.test.AndroidTestCase;
    import android.widget.EditText;
    
    public class MainActivityTest extends AndroidTestCase{
    	private MainActivity mainActivity;
    	private Context context;
    	@Override
    	protected void setUp() throws Exception {
    		super.setUp();
    		mainActivity = new MainActivity();  //直接创建Activity实例
    		context = this.getContext();//获得上下文
    	}
    	//测试add方法
    	public void testAdd(){
    		MainActivity ma = new MainActivity();
    		int a = ma.add(2, 3);
    		assertEquals(5, a);
    	}
    }
    



     

    测试即可;

     

    2.创建单元测试工程



    这样的好处是不用再配置AndroidManifest.xml,直接创建测试类即可;

     

     

    注意:此类的单元测试因为只涉及业务逻辑,因此不能使用findViewById之类的和视图有关的函数;这里也只是测试了一个业务函数:add;





  • 相关阅读:
    tf.py_func函数总结
    CS231N 常用激活函数
    CS231N 数据预处理(data proprecessing)
    RNN
    plt.subplot与subplot的区别
    Faster-rcnn代码中bbox_inside_weights的作用是什么
    Python基础之python数据结构
    asp.net分割字符串的几种方法
    .net后台获取HTML中select元素选中的值
    JQuery+Ajax制作省市联动
  • 原文地址:https://www.cnblogs.com/xiazdong/p/3058007.html
Copyright © 2011-2022 走看看