Android自学笔记-7-Android中的junit

在android的开发的过程中,经常需要对业务方面的代码进行测试,熟悉java的人都知道junit,在android中google提供了基于junit为android进行了优化得自动化框架junit。在java中使用junit编写测试用例,我们需要继承TestCase,在android中需要继承AndroidTestCase。下面使用例子说明:

我们有如下的业务类:

package com.mxy.service;

public class CalcService {

	public int add(int a,int b) {
		System.out.println("执行了加方法");
		return a + b;
	}
}

下面我们就可以编写一个测试类,如下:
package com.mxy.test;

import com.mxy.service.CalcService;

import android.test.AndroidTestCase;

public class CalcServiceTest extends AndroidTestCase {
	
	public void testAdd() {
		CalcService cal = new CalcService();
		int result = cal.add(5,3);
		System.out.println(result);
		assertEquals(8, result);

	}

}
这时候我们可以在项目上点击Run As---->Android Junit Test,这时候会将我们开发的app,安装到手机或者模拟器上,然后运行我们的测试用例。很不幸这时候我们会出现如下的错误:

01_junit does not specify a android.test.InstrumentationTestRunner instrumentation or does not declare uses-library android.test.runner in its AndroidManifest.xml
这是因为我们还有写地方没有配置,这时候我们打开我们的AndroidMainfest.xml,添加如下红色(由于红色无法正常显示,这里表示<span style="color:#ff0000;">包围的代码)代码:

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

    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="18" />
    <instrumentation android:name="android.test.InstrumentationTestRunner"
	android:targetPackage="com.mxy"
	android:label="your tests label" />

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <uses-library android:name="android.test.runner" />
        <activity
            android:name="com.mxy.MainActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>
这时候我们再重新运行一下,会出现跟使用junit类似的界面。

可能大家感觉这样写起来太费劲,一个是需要自己添加AndroidMainfest.xml里面的代码,另外一个等到程序发布的时候还得删除测试代码(当然如果不删除也没问题,只是apk的包会大一点),这时候我们就可以直接建立一个Android Test Project。我们可以点击新建---->Android Test Project,然后根据向导选择已经存在的工程。建立好工程后,我们就可以直接新建测试用例了。

例子工程下载地址:http://download.csdn.net/detail/mengxiangyue/6997545

转载请注明出处:http://blog.csdn.net/mengxiangyue

Android自学笔记-7-Android中的junit,布布扣,bubuko.com

Android自学笔记-7-Android中的junit

上一篇:65行 JavaScript 代码实现 Flappy Bird 游戏


下一篇:[理解性翻译] 移动端 Data URIs 比 Source Linking 慢了 6 倍