您的位置:軟件測試 > 開源軟件測試 > 開源單元測試工具 > junit
JUnit的基本使用
作者:網(wǎng)絡轉載 發(fā)布時間:[ 2014/11/19 15:25:20 ] 推薦標簽:JUnit 軟件測試 單元測試

  一些關于單元測試的理念:
  單元測試并不能證明你的代碼是正確的,只能證明你的代碼是沒有錯誤的。
  Keep bar green and keep your code cool
  關于JUnit的兩種基本的使用步驟
  第一種方式<4.0的JUnit版本
  1、 在已經(jīng)編寫好的項目中新建一個package用于單元測試。
  2、 要在buildpath中加入JUnit對應的包。
  3、 新建一個類,比如unitTest
  4、 當前的類需要繼承Test類,需要導入一下的一些包:
  import static org.junit.Assert.*;
  import junit.framework.TestCase;
  import org.junit.Test;
  5、 編寫自己的測試函數(shù),可以編寫多個,感覺上每個函數(shù)都相當于一個main方法,要注意的是需要用來執(zhí)行的函數(shù)都要以test開頭。
  6、 在對應的測試類上點擊Run as 之后點擊JUnit Test 可以執(zhí)行對應的test開頭的方法了。
  第二種方式>=4.0的JUnit版本
  1、 這種方式是基于注解來進行的,先要加上對應的包import org.junit.Test,其他的不用加了。
  2、 類名不需要繼承TestCase,測試方法也不需要以test開頭。
  3、 只需要在方法的前面加上@Test的注解,之后 Run as—>JUnit test這樣會自動對加了注解的方法進行測試。
  使用注解的方式還是比較推薦的,好在利用注解的時候方法名也能與之前的保持一致,這樣能與4.0版本之前的JUnit兼容了。
  這種方式的大致原理還是利用反射,先獲得Class類實例,之后利用getMethods方法得到這個類的所有的方法,之后遍歷這個方法,判斷每個方法是否加上了@Test注解,如果加上了注解,執(zhí)行。大多數(shù)框架內部都是依靠反射來進行的。實際情況中還是比較推薦使用注解的,還有一些常用的注解,比如:@Before @After這兩個分別表示方法(@Test之后的)執(zhí)行之前要執(zhí)行的部分,以及方法執(zhí)行之后要執(zhí)行的部分,注意這里每個被@Test標注過的方法在執(zhí)行之前與執(zhí)行之后都要執(zhí)行@Before以及@After標注過的方法,因此被這兩個注解標記過的方法可能會執(zhí)行多次。
  對于@BeforeClass以及@AfterClass顧名思義表示在整個測試類執(zhí)行之前與執(zhí)行之后要執(zhí)行的方法,被這兩個注解標記過的方法在整個類的測試過程中只是執(zhí)行一次。
  還有一個常用到的方法是Assert.assertEquals方法,表示預期的結果是否與實際出現(xiàn)的結果是否一致,可以有三個參數(shù),第一個參數(shù)表示不一致時候的報錯信息,第二個參數(shù)表示期望的結果,第三個參數(shù)表示實際的結果。
  還有一部分是關于組合模式的使用,比如寫了好多的測試類,ATest BTest ....總不能一個一個點,能一起讓這些測試類都運行起來是好不過了,這時候要使用到兩個注解:@RunWith(Suite.class)以及@SuiteClasses({ xxTest.class,xxTest.class })
  當然JUnit的整個過程中還涉及到了許多經(jīng)典的設計模式,這個再進一步進行分析。
  下面是一個實際的例子,展示一下常見的幾個注解的使用:
//一個簡單的Student類以及一個Teacher類 輸出其基本信息
package com.test.unittest;
public class Student {
int id;
int age;
String name;
public Student(int id, int age, String name) {
super();
this.id = id;
this.age = age;
this.name = name;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}

上一頁12下一頁
軟件測試工具 | 聯(lián)系我們 | 投訴建議 | 誠聘英才 | 申請使用列表 | 網(wǎng)站地圖
滬ICP備07036474 2003-2017 版權所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd