JUNIT4 筆記(三) 測試用例

測試用例需要用@Test註釋標識。
@Test 位於一個方法前,標識該方法是一個測試用例。該方法必須是一個公有無參數無返回值的實例方法(public | void | no parameters | not static)。

@Test public void testAdd(){
assertEquals(5,2+3);
}

@Test @interface定義了timeout方法和expected方法。

@Test (timeout=?) 其中“?”爲long型數字,單位是毫秒。表示如果用例執行時間超過該時間,即斷言用例失敗。

@Test (timeout=5000)

@Test (expected=?) 其中“?”爲java.lang.Throwable及其子類。表示該用例期望拋出一個Throwable,如果執行過程中拋出了期望的Throwable,則斷言成功,否則斷言失敗。

@Test (expected=Throwable.class)
@Test (expected= NullPointerException.class)

測試用例斷言失敗,即宣告測試用例執行結束。

JUnit4爲每一個測試用例創建一個測試類實例。

public class MyTestcase {
public MyTestcase(){
System.out.println("new Instance");
}
@Test public void test1() {
System.out.println("@test1");
assertTrue(true);
}
@Test public void test2(){
System.out.println("@test2");
assertEquals(5,2+3);
}
}

代碼執行會打印下列結果:
[list]
[b]new Instance
@test1
new Instance
@test2[/b]
[/list]
JUnit4規範要求,不同測試用例不共享實例變量,也不假想類中測試用例有固定的執行順序。測試用例的執行順序,由測試運行器的調用順序決定,不同測試運行器執行順序不同,同一測試運行器的調用順序也可能不同(比如,多線程測試運行器)。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章