在使用android单元测试的时候记得要加入单元测试库和单元测试框架
放在application节点里面
<!-- 使用单元测试 -->
<uses-library android:name="android.test.runner" >
</uses-library>
放在manifest节点里面
<!-- 声明android框架和目标测试包 -->
<instrumentation
android:name="android.test.InstrumentationTestRunner"
android:targetPackage="com.example.junittest" >
</instrumentation>
然后就是一些junit的测试编写了
这里给大家看一个例子
我们先写一个业务类
public class CalucProce {
public int add (int a,int b)
{
return a+b;
}
}
我们继承一个AndroidTestCase的类用来测试
public class AndroidJuntiTest extends AndroidTestCase{
CalucProce calucProce ;
private static String TAG = "test";
@Override
/*****
*初始化方法
*/
protected void setUp() throws Exception {
// TODO Auto-generated method stub
calucProce = new CalucProce();
Log.i(TAG, "-----------------"+"初始化");
super.setUp();
}
/****
* 销毁方法
*/
@Override
protected void tearDown() throws Exception {
// TODO Auto-generated method stub
Log.i(TAG, "-----------------"+"结束");
super.tearDown();
}
public void testAdd() throws Throwable
{
int a = calucProce.add(2, 3);
Assert.assertEquals(a, 5);
Log.i("test", a+"----------");
}
}
正如上面看到的一样,需要我们注意的是测试方法必须是public void 就是无返回 还有一点注意的就是 测试方法要以test开头
还有就是生命周期方法,我们完成初始化的方法就是setUp(),然后结束方法就是tearDwon();这样我们就可以在方法里面用Assert这样来测试了
现在还有一点就是自动化测试但是在自动化测试的时候有几点要求
1:自动化测试方法必须生命为public
2:自动化测试方法必须是static类型
3:自动化测试方法必须返回Test接口类型的对象
4:自动化测试方法的名称必须为suite
来个例子
public class JunitTest extends TestCase {
public static Test suite()
{
TestSuite suite = new TestSuite();
suite.addTestSuite(AndroidJuntiTest.class);
return suite;
}
}