1、簡介java
JUnit是一個開源的java單元測試框架。在1997年,由 Erich Gamma 和 Kent Beck 開發完成。這兩個牛人中 Erich Gamma 是 GOF 之一;Kent Beck 則在 XP 中有重要的貢獻(你以爲眼熟一點都不奇怪)。正如常言道:「麻雀雖小,五臟俱全。」 JUnit設計的很是小巧,可是功能卻很是強大。數據庫
下面是JUnit一些特性的總結:框架
1) 提供的API可讓你寫出測試結果明確的可重用單元測試用例單元測試
2) 提供了三種方式來顯示你的測試結果,並且還能夠擴展測試
3) 提供了單元測試用例成批運行的功能spa
4) 超輕量級並且使用簡單,沒有商業性的欺騙和無用的嚮導設計
5) 整個框架設計良好,易擴展開發
2、下載get
點擊http://www.junit.org能夠下載到最新版本的JUnit,本文使用的爲4.4.3.1版。至於安裝或者配置之類,你只須要輕鬆的將下載下來的壓縮包中的jar文件,放到你工程的classpath中就能夠了。it
這樣,你的系統中就能夠使用JUnit編寫單元測試代碼了!
3、介紹JUnit4.x
JUnit4.x是JUnit框架有史以來的最大改進,其主要目標即是利用Java5的Annotation特性簡化測試用例的編寫。
junit4.x版本咱們經常使用的註解:
A、@Before 註解:使用了該元數據的方法在每一個測試方法執行以前都要執行一次。
B、@After 註解:使用了該元數據的方法在每一個測試方法執行以後要執行一次。
注意:@Before和@After標示的方法只能各有一個。這個至關於取代了JUnit之前版本中的setUp和tearDown方法。
C、@BeforeClass 註解:在全部方法執行以前執行;
D、@AfterClass 註解:在全部方法執行以後執行;
注意:每一個測試類只能有一個方法被標註爲@BeforeClass 或 @AfterClass,而且該方法必須是Public和static的。
E、@Test(timeout = xxx) 註解:設置當前測試方法在必定時間(毫秒)內運行完,不然返回錯誤;
F、@Test(expected = Exception.class) 註解:設置被測試的方法是否有異常拋出。拋出異常類型爲:Exception.class;
G、@Ignore 註解:該元數據標記的測試方法在測試中會被忽略。當測試的 方法尚未實現,或者測試的方法已通過時,或者在某種條件下才能測試該方法(好比須要一個數據庫聯接,而在本地測試的時候,數據庫並無鏈接),那麼使用 該標籤來標示這個方法。同時,你能夠爲該標籤傳遞一個String的參數,來代表爲何會忽略這個測試方法。好比:@lgnore(「該方法尚未實現」),在執行的時候,僅會報告該方法沒有實現,而不會運行測試方法。