您的位置:首页 > 移动开发 > Android开发

Android入门:单元测试

2012-07-12 12:45 393 查看


一、Android的Junit测试

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

单元测试整体框架如下:

 



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


二、AndroidTestCase

 

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

[java] view
plaincopy

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中添加如下:

[html] view
plaincopy

<application  

    android:icon="@drawable/ic_launcher"  

    android:label="@string/app_name" >  

    <uses-library android:name="android.test.runner" /> //添加此行代码  

</application>  

 

 

[html] view
plaincopy

<application/>   

<instrumentation  

        android:name="android.test.InstrumentationTestRunner"  

        android:targetPackage="org.xiazdong" /> //要测试的Activity所在包  

步骤2:添加单元测试类

[java] view
plaincopy

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;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息