junit 概念,原理這裡就不說了,有興趣的朋友可以查閱相關資料,這篇文章主要是為了快速給大家介紹一下junit4的使用 以及與 junit3的區別,這裡預設大家對junit3已經有些理解了。
下面就開始吧:
1.先寫個簡單的被測試類:
package test.junit;
public class baseclass
}2.對於這個類的unit測試,我們先看看在junit3中怎麼進行測試的吧:
package test.junit;
import junit.framework.testcase;//引入testcase類
public class baseclasstest extends testcase
public void testmethod ()
}通過上面這個類,我們對junit3進行一些總結:
1. 必須引入類testcase(import junit.framework.testcase;),
2. 必須繼承類testcase (class baseclasstest extends testcase)
3. 測試方法必須以test開頭(public void testmethod ())
4. 通過assert*方法來判斷結果(asserttrue(baseclass.method ().equals("test.junit.baseclass"));)。
3. 下面來了解一下junit4裡面的內部關係吧,從這個圖中你可以看出junit4的主要功能:
下面來看看我們今天的主角junit4是怎麼處理這些的吧:
package test.junit;
import org.junit.test;//引入test類
import static org.junit.assert.*;//引入assert.*包
public class baseclasstestnew
}看看多麼的簡潔,好像少了很多約束,下面通過和junit3的特性進行比較總結junit4的特性:
1.必須引入類testcase(import junit.framework.testcase;
è必須引入類test(import org.junit.test;),必須引入類(import static org.junit.assert.*;)
2.必須繼承類testcase (class baseclasstest extends testcase)
è不需要
3.測試方法必須以test開頭(public void testmethod ())
è不需要,但是類開始的時候要標記 @test
4.通過assert*方法來判斷結果(asserttrue(baseclass.method ().equals("test.junit.baseclass"));)。
從上面的對比,可以看出junit4與junit3的區別在於:
去掉與類testcase的偶聯性,唯一觸發testcase的地方就是在@test上。
4.以上就是junit4與junit3的區別與改進,下面再繼續看看junit4有哪些新增加的功能吧:
1. @before 和 @after
類似於init() 和destory(),可以將一些初始化和釋放工作放到這裡面,每個類都只有乙個@before 和 @after。為了實現這個功能,我們將測試類修改如下:
import org.junit.test;
//新增加兩個類
import org.junit.before;
import org.junit.after;
import static org.junit.assert.*;
public class baseclasstestnew
@test public void method ()
@after public void runaftertest()
}@before 方法會在 @test 之前進行,相反 @after 會在所有方法執行完進行。
2.timeout 屬性
junit4支援timeout,運用如下:
a. 首先在被測試類中增加用於測試timeout的方法:
public void methodtimeout() catch (interruptedexception e)
}b.看看怎麼測試這個方法:
@test(timeout=5)
public void methodtimeout()
1. 增加(timeout=5)這個設定項
2. 執行完 沒有輸出methodtimeout,說明這個方法沒有執行完,達到效果。
Junit4學習(五)Junit4測試套件
一,背景 1,隨著開發規模的深入和擴大,專案或越來越大,相應的我們的測試類也會越來越多 那麼就帶來乙個問題,假如測試類很多,就需要多次執行,造成測試的成本增加 此時就可以使用junit批量執行測試類的功能,junit test suite,測試套件 每次執行測試類,只需要執行一次測試套件類就可以執行...
JUnit4常用注釋
常用注釋 解釋 test 定義乙個要測試的方法 before 在每乙個測試之前,都會被執行的方法,這個方法常常被用來進行一些測試環境的初始化 after 與 before進行對應,在測試結束後,做一些清理工作 beforeclass 在所有測試開始之前執行,這個方法在類執行的時候執行,而且只會執行一...
junit4常用註解
test 將乙個普通的方法修飾成乙個測試方法 test expected exception.class 若測試時改方法丟擲 exception異常則測試成功 test timeout 毫秒 超出該時間則停止執行 beforeclass 它會在該測試類的所有方法執行前執行,static修飾,只執行一...