我在学习Android的时候最头特的就是 测试! 虚拟机慢有不舒服,真机也是觉得很慢,因为要频繁的安装应用,所以Android
单元测试的使用就显得尤为重要了。
想实现简单的单元测试不是很难,只要几步就可以完成了:
首先要在清单文件(AndroidManifest.xml)下进行如下声明:
可参照如下声明:
1 <?xml version="1.0" encoding="utf-8"?>
2
3 package="com.tai.mylistview"
4 android:versionCode="1"
5 android:versionName="1.0" >
6
8 android:targetSdkVersion="14" />
9
10
11
12
13
15 android:icon="@drawable/ic_launcher"
16 android:label="@string/app_name"
17 android:theme="@style/AppTheme" >
18
19
20
22 android:label="@string/app_name" >
23
24
25
26
27
28
29
30
31
32
33
34
36 android:authorities="com.tai.mylistview.personProvider"/>
37
38
39 View Code
再就是声明一个类,这个类要继承自AndroidTestCase,剩下的就喝Junit是一样的。
下面这就是对上篇中的数据库操作的测试方法:
1 packagecom.tai.test;2
3 importcom.person.dao.PersonDao;4 importcom.person.dao.PersonDao2;5 importcom.tai.db.PersonDBOpenHelper;6
7 importandroid.test.AndroidTestCase;8
9 public class Test extendsAndroidTestCase {10
11 public void testCreateDb() throwsException12 {13 //getContext() 是android 测试类 androidTestCase 提供的方便得到测试 上下文的API
14 PersonDBOpenHelper helper = newPersonDBOpenHelper(getContext());15 helper.getReadableDatabase();16 }17
18 privatePersonDao2 dao;19 //当测试框架准备好的时候才会执行 一般都坐初始化操作
20 @Override21 protected void setUp() throwsException {22 super.setUp();23 dao = newPersonDao2(getContext());24 }25 //当测试方法执行完之后执行的方法 一般都做些擦屁股的操作
26 @Override27 protected void tearDown() throwsException {28 super.tearDown();29 }30
31 public void testAdd() throwsException32 {33 boolean result = dao.add("张三","999");34 assertEquals(true, result);35 }36
37 public void testFind() throwsException38 {39 boolean result = dao.find("张三");40 assertEquals(true, result);41 }42
43 public void testUpdate() throwsException44 {45 boolean result = dao.update("110","张三");46 assertEquals(true, result);47 }48 public void testDelete() throwsException49 {50 boolean result = dao.delete("张三");51 assertEquals(true, result);52 }53 }test
下面这两个方法很实用。
//当测试框架准备好的时候才会执行 一般都坐初始化操作
@Override
protected void setUp() throws
Exception {
super.setUp();
dao = new
PersonDao2(getContext());
}
//当测试方法执行完之后执行的方法
一般都做些擦屁股的操作
@Override
protected void tearDown() throws Exception
{
super.tearDown();
}
记得再写测试方法的时候想单元框架抛出异常!!
OK简单的测试就这样可以用了。
还有最懒的一个方法 直接生成一个测试工程!
之后就可以直接写测试类 测试方法!
原文:http://www.cnblogs.com/mauiie/p/3734813.html