安裝JUnit
安裝很簡單,先到以下地址下載一個新的zip包:
http://download.sourceforge.net/junit/
下載完以后解壓縮到你喜歡的目錄下,假設是JUNIT_HOME,然后將JUNIT_HOME下的junit.jar包加到你的系統(tǒng)的CLASSPATH環(huán)境變量中,對于IDE環(huán)境,對于需要用到的junit的項目增加到lib中,其設置不同的IDE有不同的設置,這里不多講。
如何使用JUnit寫測試?
簡單的范例如下:
1、創(chuàng)建一個TestCase的子類:
package junitfaq;
import java.util.*;
import junit.framework.*;
public class SimpleTest extends TestCase {
public SimpleTest(String name) {
super(name);
}
2、寫一個測試方法斷言期望的結果:
public void testEmptyCollection() {
Collection collection = new ArrayList();
assertTrue(collection.isEmpty());
}
注意:JUnit推薦的做法是以test作為待測試的方法的開頭,這樣這些方法可以被自動找到并被測試。
3、寫一個suite()方法,它會使用反射動態(tài)的創(chuàng)建一個包含所有的testXxxx方法的測試套件:
public static Test suite() {
return new TestSuite(SimpleTest.class);
}
4、寫一個main()方法以文本運行器的方式方便的運行測試:
public static void main(String args[]) {
junit.textui.TestRunner.run(suite());
}
}
5、運行測試:
以文本方式運行:
java junitfaq.SimpleTest
通過的測試結果是:
.
Time: 0
OK (1 tests)
Time上的小點表示測試個數(shù),如果測試通過則顯示OK。否則在小點的后邊標上F,表示該測試失敗。
每次的測試結果都應該是OK的,這樣才能說明測試是成功的,如果不成功要馬上根據(jù)提示信息進行修正了。
如果JUnit報告了測試沒有成功,它會區(qū)分失。╢ailures)和錯誤(errors)。失敗是你的代碼中的assert方法失敗引起的;而錯誤則是代碼異常引起的,例如ArrayIndexOutOfBoundsException。
以圖形方式運行:
java junit.swingui.TestRunner junitfaq.SimpleTest
通過的測試結果在圖形界面的綠色條部分。
以上是簡單的測試樣例,在實際的測試中我們測試某個類的功能是常常需要執(zhí)行一些共同的操作,完成以后需要銷毀所占用的資源(例如網(wǎng)絡連接、數(shù)據(jù)庫連接,關閉打開的文件等),TestCase類給我們提供了setUp方法和tearDown方法,setUp方法的內(nèi)容在測試你編寫的TestCase子類的每個testXxxx方法之前都會運行,而tearDown方法的內(nèi)容在每個testXxxx方法結束以后都會執(zhí)行。這個既共享了初始化代碼,又消除了各個測試代碼之間可能產(chǎn)生的相互影響。