此處不細說,直接參考簡單明瞭的wiki吧,裡面的內容就是junit4 jar包的使用和執行簡單測試例項,10分鐘即可完成入門
junit4幾乎所有功能官方彙總列表,可從此了解junit4的各種功能,官方wiki相當簡潔明瞭
此處對較重要的功能稍微彙總,若有感興趣的功能可到官方wiki進一步了解:注意 所有**出自junit4 wiki
用法詳情 這兩種功能都是單元測試的技術基石,用來開發單元測試的斷言,例如:
assertequals("text", "text");
注意:引數1是期望值,引數2是實際值
assertthat("good", allof(equalto("good"), startswith("good")));
matchers都用在assertthat斷言中,**的意思是:此處斷言」good」 同時滿足所有條件,條件分別是:與「good」相同,以「good」開頭
matchers好處是:更符合斷言語序,matchers表達的比較語義更豐富和靈活,也易於開發人員擴充套件用法詳情
另:要測試 異常情況 是否符合預期行為; 要測試 超時 是否符合預期行為
用法詳情 主要使用@beforeclass,@afterclass, @before 和 @after來標註方法,這些標註都很容易理解
顧名思義,這些官方的啟動器負責啟動開發人員開發的測試用例,你可以根據用例所需要的不同功能來選擇不同的啟動器,官方的啟動器有4個,不滿足需求可以自己擴充套件;
此處稍微彙總 用法詳情
ide內建的單元測試啟動器:eclipse,netbeans等內建了
通過命令列啟動單元測試的啟動器:org.junit.runner.junitcore;使用的時候直接在命令列視窗跑單元測試
** junit4testadapter: 在junit3的啟動器中執行 用junit4開發的單元測試 時使用的junit4啟動器adapter
使用@runwith來註解的class來作為單元測試啟動器:可以在註解裡賦值來指定junit內建的幾個啟動器,例如:
1. 把一堆單元測試用例定義成一整套單元測試
用法詳情
@runwith(suite.class) // sute.class是junit的啟動器
@suite.suiteclasses()
public class featuretestsuite
2. 把不同的單元測試用例弄成不同分類,然後使用 分類啟動器 啟動不同類別的單元測試
用法詳情
@runwith(parameterized.class)
public class fibonaccitest , , , , , ,
});}
private int finput;
private int fexpected;
public fibonaccitest(int input, int expected)
@test
public void test()
}
3. 還有一些其他實驗性和第三方啟動器
用法詳情
用法詳情
用法詳情 通過@rule註解來標註所使用的 元件,例如:
@rule
public temporaryfolder tempfolder = new temporaryfolder();
rule的原理是junit在初始化乙個單元測試類的時候會例項化乙個@rule標註的 rule域例項,並在每個case執行的時候都會呼叫 rule域例項的evaluate方法
junit所提供的元件包括:
用法詳情 使用這種啟動器,你可以定義測試用例的所有前置條件(不滿足前置條件則忽略這個測試用例),以及不同的測試輸入引數
Junit4學習(五)Junit4測試套件
一,背景 1,隨著開發規模的深入和擴大,專案或越來越大,相應的我們的測試類也會越來越多 那麼就帶來乙個問題,假如測試類很多,就需要多次執行,造成測試的成本增加 此時就可以使用junit批量執行測試類的功能,junit test suite,測試套件 每次執行測試類,只需要執行一次測試套件類就可以執行...
JUnit4常用注釋
常用注釋 解釋 test 定義乙個要測試的方法 before 在每乙個測試之前,都會被執行的方法,這個方法常常被用來進行一些測試環境的初始化 after 與 before進行對應,在測試結束後,做一些清理工作 beforeclass 在所有測試開始之前執行,這個方法在類執行的時候執行,而且只會執行一...
junit4常用註解
test 將乙個普通的方法修飾成乙個測試方法 test expected exception.class 若測試時改方法丟擲 exception異常則測試成功 test timeout 毫秒 超出該時間則停止執行 beforeclass 它會在該測試類的所有方法執行前執行,static修飾,只執行一...