JUnit是一個開發源代碼的Java測試框架用於編寫和運行可重復的測試他是用於單元測試框架體系xUnit的一個實例(用於java語言)它包括以下特性
用於測試期望結果的斷言(Assertion)
用於共享共同測試數據的測試工具
用於方便的組織和運行測試的測試套件
圖形和文本的測試運行器
JUnit最初是由Erich Gamma(GoF之一)和Kent Beck(xp和refactor的先驅之一)編寫的需要說明的是JUnit一般是用來進行單元測試的因此需要了解被測試代碼的內部結構(即所謂的白盒測試)另外junit是在xp編程和重構(refactor)中被極力推薦使用的工具因為在實現自動單元測試的情況下可以大大的提高開發的效率但是實際上編寫測試代碼也是需要耗費很多的時間和精力的那麼使用這個東東好處到底在哪裡呢?筆者認為是這樣的
對於xp編程而言要求在編寫代碼之前先寫測試這樣可以強制你在寫代碼之前好好的思考代碼(方法)的功能和邏輯否則編寫的代碼很不穩定那麼你需要同時維護測試代碼和實際代碼這個工作量就會大大增加因此在xp編程中基本過程是這樣的構思-》編寫測試代碼-》編寫代碼-》測試而且編寫測試和編寫代碼都是增量式的寫一點測一點在編寫以後的代碼中如果發現問題可以較塊的追蹤到問題的原因減小回歸錯誤的糾錯難度
對於重構而言其好處和xp編程中是類似的因為重構也是要求改一點測一點減少回歸錯誤造成的時間消耗
對於非以上兩種情況我們在開發的時候使用junit寫一些適當的測試也是有必要的因為一般我們也是需要編寫測試的代碼的可能原來不是使用的junit如果使用junit而且針對接口(方法)編寫測試代碼會減少以後的維護工作例如以後對方法內部的修改(這個就是相當於重構的工作了)另外就是因為junit有斷言功能如果測試結果不通過會告訴我們那個測試不通過為什麼而如果是想以前的一般做法是寫一些測試代碼看其輸出結果然後再由自己來判斷結果使用正確使用junit的好處就是這個結果是否正確的判斷是它來完成的我們只需要看看它告訴我們結果是否正確就可以了在一般情況下會大大提高效率
安裝JUnit
安裝很簡單先到以下地址下載一個最新的zip包 http://downloadsourceforgenet/junit/
下載完以後解壓縮到你喜歡的目錄下假設是JUNIT_HOME然後將JUNIT_HOME下的junitjar包加到你的系統的CLASSPATH環境變量中對於IDE環境對於需要用到的junit的項目增加到lib中其設置不同的IDE有不同的設置這裡不多講
如何使用JUnit寫測試?
最簡單的范例如下
創建一個TestCase的子類
package junitfaq;
import javautil*;
import junitframework*;
public class SimpleTest extends TestCase {
public SimpleTest(String name) {
super(name);
}
[] [] []
From:http://tw.wingwit.com/Article/program/Java/ky/201311/29247.html