Android自动化测试——java test unit(单元测试)

最近因为项目组底层引擎更换,需要用到大量的数据来查证新旧引擎的优劣,所以需要用到自动化测试来跑大量的数据,因此我也花了好些时间来了解学习如何使用自动化测试,现在项目测试工作也基本完成,因此一个总结关于android的单元测试。

android源码中引入了java单元测试的框架(android源码目录:libcore\junit\src\main\java\junit\framework中可见),然后在java单元测试框架的基础上扩展属于android自己的测试框架。查看Android Test API 后发现,通过android测试类可以实现对android的基本组件(Activity,Service,ContentProvider,application)进行测试。

当然,要进行Android单元测试,首先必须有android开发环境,至于是eclipse平台还是androd-studio平台,这个就随你喜欢咯


1、建立一个Android Test Project,点击File--new--project--Android--Android Test Project:

点击next,在Project Name那里填写工程名字,然后点next,选择你需要测试的工程项目:


点击finish,此时你左边的工程目录下就会多出一个你刚刚建的project项目:

接着打开该项目的AndroidManifest.xml,可以看到

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.enphoneh.fileexploser.test"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk android:minSdkVersion="16" />

    <instrumentation
        android:name="android.test.InstrumentationTestRunner"        <!--  这里多了个instrumentation,targetPackage就是我们需要测试的项目-->
        android:targetPackage="com.enphoneh.fileexploser" />

    <application
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name" >
        <uses-library android:name="android.test.runner" />     <!--  这里引用了android测试库-->
    </application>

</manifest>

接着打开我们的项目,点击src,这里会自动生成一个.test结尾的包,我们点击包,右键,新建一个类,继承于AndroidTestCase:

接着需要重写setUp方法,在setUp中初始化所有需要测试的对象,因为每跑一个测试方法,首先执行的都是该testcase的setUp方法,因此必须在这里对数据进行初始化:

public class MyTestCase extends AndroidTestCase {
    
    int a,b;
    MainActivity activity = null;    //MainAcitivity就是还要测试的项目中的一个acitivity
    @Override
    protected void setUp() throws Exception {
        init_test();     //初始化测试数据
        super.setUp();
    }
    
    protected void init_test(){
        a = 3;
        b = 5;
        activity = new MainActivity();
    }

接着就可以写测试方法了,测试方法一定必须textXXXXX,即必须是以test开头的才能跑得起来,否则是不会跑到的

public class MyTestCase extends AndroidTestCase {
	
	int a,b;
	MainActivity activity = null;    //MainAcitivity就是还要测试的项目中的一个acitivity
	@Override
	protected void setUp() throws Exception {
		init_test();     //初始化测试数据
		super.setUp();
	}
	
	protected void init_test(){
		a = 3;
		b = 5;
		activity = new MainActivity();
	}

	//test开头的android test unit测试入口
	public void testGotoParent(){
		activity.goToParent("/");
	}
	

这样子就可以点击右键--run as -- Android Junit Test,自动化测试程序就可以跑起来了。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值