心得--junit测试框架.doc

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)但是实际开发中还是用的第一种方法比较多。

 

posted @ 2012-09-16 11:47  yangkai_keven  阅读(142)  评论(0编辑  收藏  举报