android单元测试(AndroidTestCase)

Android 单元测试基于JUnit开发.但是用起来并不容易

AndroidManifest.xml

确保你的应用加载了JUnint库,并配置AndroidMainifest.xml按照下面的方式.


				<?xml version="1.0" encoding="utf-8"?>

				<manifest

				xmlns:android="http://schemas.android.com/apk/res/android"

				package="com.example.app.tests" android:versionCode="1"

				android:versionName="1.0">

				<application>

				<uses-library android:name="android.test.runner" />

				</application>

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

				<instrumentation android:name="android.test.InstrumentationTestRunner"

				android:targetPackage="com.example.app" android:label="Tests for My App" />

				</manifest>

AllTests.java

编写测试代码入口.你可以把下面代码拷贝到任意工程去即可.


				package com.example.app;

				import junit.framework.Test;

				import junit.framework.TestSuite;

				import android.test.suitebuilder.TestSuiteBuilder;

				/**

				 * A test suite containing all tests for my application.

				 */

				public class AllTests extends TestSuite {

				    public static Test suite() {

				        return new TestSuiteBuilder(AllTests.class).includeAllPackagesUnderHere().build();

				    }

				}

				

SomeTests.java

编写单元测试,该测试集成AndroidTestCase父类. 记住所有的测试方法开头必须使用"test". 使用不同的assert方法来判断不同测试结果


				package com.example.app;

				import junit.framework.Assert;

				import android.test.AndroidTestCase;

				public class SomeTest extends AndroidTestCase {

				    public void testSomething() throws Throwable {

				       Assert.assertTrue(1 + 1 == 2);

				    }

				    public void testSomethingElse() throws Throwable {

				       Assert.assertTrue(1 + 1 == 3);

				    }

				}

				

运行单元测试

使用Eclipse的Run Junit Tests方法.选中测试工程,按右键,选择Run As…Android Junit Test.

或者输入下面命令:

adb shell am instrument -w com.example.app.tests/android.test.InstrumentationTestRunner

结果

你可以从Eclipse的console或命令行工具中看到结果. 完毕!

 

原文连接:http://marakana.com/tutorials/android/junit-test-example.html

评论关闭。