android应用开发之:单元测试(unit testing)

来源:互联网 发布:无标度网络应用 编辑:程序博客网 时间:2024/03/29 19:03

我们可以使用JUnit框架对android应用程序进行单元测试,使用方法和标准版java完全相同。

单元测试主要是测试一个应用程序中独立工作的的一个类,测试级别相对较低。

本文将对android应用程序的单元测试做一个简单的介绍.

Android版JUnit框架和标准版不同的地方主要是我们需要继承AndroidTestCase,而不是TestCase,android版提供了一些android特有的方法,如android中常用的getContext()等。

让我们来看一个简单的例子:
1、创建一个android项目,如下图所示:

单击“下一步”时,会让您选择是否创建一个test project,我们选中它,如下图所示:

最后单击“完成”,即同时创建了两个eclipse项目,如下图所示:

这样我们就可以在AndroidJunitTestTest项目中测试AndroidJunitTest项目中的代码。
我们在AndroidJunitTest中新建一个类,如下所示:

package com.ideasandroid.demo;   public class ClassToTest { public int add(int arg1, intarg2) { return arg1 + arg2; } }

然后,我们开始在AndroidJunitTestTest项目中对这个类进行测试。
在com.ideasandroid.demo.test包单击“右键”,new->JUnit Test Case新建一个测试用例,注意将junit.framework.TestCase换成android.test.AndroidTestCase,选 择setUp()和tearDown()两个方法让系统自动生成,如下图所示:

单击“完成”后,代码如下所示:

package com.ideasandroid.demo.test; import android.test.AndroidTestCase; public classIdeasandroidTestCase extends AndroidTestCase {   protected void setUp() throws Exception {super.setUp(); }   protected void tearDown() throws Exception { super.tearDown(); } }

下面我们增加一个测试方法,在setUp()中做一些初始化工作,如下所示:

package com.ideasandroid.demo.test;   import com.ideasandroid.demo.ClassToTest; importandroid.test.AndroidTestCase; public class IdeasandroidTestCase extends AndroidTestCase {ClassToTest mClassToTest; int mArg1; int mArg2;   protected void setUp() throws Exception {mClassToTest = new ClassToTest(); mArg1 = 120; mArg2 = 8; super.setUp(); }   protected voidtearDown() throws Exception { super.tearDown(); }   public void testAdd() { assertEquals(128, mClassToTest.add(mArg1, mArg2)); } }

然后,我们以Android JUnit Test(Run as——>Android JUnit Test)方式运行上面的类,您就将看到如下所示:

怎么样? 调试成功了吗?