Android为JUNIT特别提供了AndroidTestCase类,该类继承自InstrumentationTestCase类,而InstrumentationTestCase则继承自junit.framework.TestCase类
现在我们拿AndroidTestCase类来做一些简单的Android JUNIT实验:
1.在含有被测试工程的Eclipse下打开new project
2.选择Android目录下的Android Test Project,点击next
3.命名你的测试项目,选择需要使用到得Android SDK版本,并且在Test Target--》Select the project to test:中选择
An existing Android project 下浏览到你要测试的Android project
4.建好新的test project后,如果被测试的project中含有很多package,而且需要测试的类特别多,强烈建议你在test project中
建立相同的package层级关系,然后在相应的包下建立相应的测试类用来测试在被测试project中对应的类
5.新建测试类,命名并且选择继承关系为继承AndroidTestCase
6.在新建的测试类中重写setUp方法:
@Override
protected void setUp() throws Exception {
super.setUp();
/*初始化你在测试中需要的一些动作及全局变量*/
}
7.下面就是写测试中需要执行的方法,注意!!!方法名称要以test开头,否则JUNIT不会执行函数,相反,JUNIT会按字母顺序自动执行函数名以test开头的函数,也就是说如果你写了一种方法来支持你的测试函数而不想让这个方法本身被自动执行,就可以不以test为函数名的开头,并且因为JUNIT是按函数名的字母顺序执行测试函数的,所以你可以通过更改函数名字母顺序的方法来自由排列测试函数的执行顺序
8.在写测试代码时可以直接调用被测试的project中的类与接口,除了不能测试private和protected的函数,其他没有什么大的限制
9.写完测试代码,在run as里面选择run as Android JUNIT Test即能执行测试代码并得到相应的测试信息,在执行测试时,既可以执行整个测试工程中的所有测试类和方法,也可以对单个测试函数执行测试,具体方法就是在目标类的Outline中右键点击需要单独执行的测试函数,run as Android JUNIT Test就可以了,注意,即便是执行单个测试函数,JUNIT也会执行之前重写的setUp函数。
Android.test Package内还为大家提供了许多其他工具,比如:
ActivityInstrumentationTestCase
ActivityTestCase
ActivityUnitTestCase
AndroidTestRunner
ApplicationTestCase
PerformanceTestCase
ProviderTestCase
ServiceTestCase
等等,具体怎么用就要靠大家来发掘啦