1. 与Android中的测试操作相同,但是所用代码不同:Android中,要在清单文件中加入<applicationandroid:icon="@drawable/icon"android:label="@string/app_name">
<uses-libraryandroid:name="android.test.runner" />
//把单元测试的框架的依赖库引入到项目中。注意:该段代码是添加在<application>里面的,而不是<activity>中。
....
</application>
<uses-sdkandroid:minSdkVersion="6" />
<instrumentationandroid:name="android.test.InstrumentationTestRunner"
android:targetPackage="cn.itcast.action"//这个值必须与当前包名一样。 android:label="Tests for My App"/> //label属性的值是自己随便起的,不写都可以。
//配置单元测试框架的启动的方式,他的启动方式有好几个类
注意:该段代码是添加在最外层标签里面的
</manifest>;测试类还要继承AndroidTestCase类
Java里的测试类中的测试方法上面要用注解@Test字样声明你要调用测试类(写出这个字样出错时用ctrl+1查看然后倒包可以,也可以用用ctrl+shift+哦直接倒包)
与Android相同的是这里的也可以设置断言。举几个断言类的方法简单说一下:Assert.assertEquals(expected,actual);Assert.assertArrayEquals(int[]expected,int[] actual);这两个方法都是比较方法,比较期望值与实际值。Assert类有很多方法,像上面的各种数组方法或两个对象比较、两个值比较;还有判断真假的:Assert.assertTrue(true);里面是true时就通过否则就不通过,而另一个方法Assert.assertFalse(False)正好相反;
2. 测试单个方法就点击单个方法然后run as junit Test。要想把所有方法都测试了则直接运行测试类 junit Test。
还有一个重点:实际开发中测试类的前后可能还要加上两个方法(名字可以自己命名):比如前面加上:public void before(){里面放上一些测试方法要用的变量,即初始化资源 };后面加上:public void after(){ 这里面是放释放资源的代码的 } 这两个方法会随测试方法的方法运行自动运行;这两个方法的开始也要加上该方法的测试注解,比如@beforeTest;这两个方法测试类运行时里面的每个测试方法运行都会调用before和after方法。
还有一种方法就是public void beforeClass(){ 里面也是放初始化资源 };后面加上:public void afterClass(){ 同样里面也是放释放资源的代码的 };这两个方法与上面有什么不同呢。不同的是这两个方法在执行测试类的时候只运行一次,这两个方法是在类加载的时候运行的(前面也要加注释@beforeClass)但是实际开发中还是用的第一种方法比较多。