天天看點

junit學習(五)——junit的常用注解

@Test這個注解最常用了,不用多說。

上一篇學Junit的運作過程時又學到了四種:

@BeforeClass:會在所有的方法執行之前會執行,static修飾

@AfterClass:會在所有的方法運作結束之後被執行,static修飾

@Before:會在每一個測試方法被運作之前執行一次

@After:會在每一個測試方法運作完成之後被執行一次

除此之外,還有幾個常用的。

1、@Test的兩種處理情況:

@Test(expected=異常類.class),異常捕獲,如@Test(expected=ArithmeticException.class)。當你預知代碼會出現某個異常,使用expected,當代碼出現該異常時不會抛出,保證代碼的執行

@Test(timeout=毫秒) 逾時處理,如Test(timeout=2000)。當代碼執行的時間超過timeout規定的時間時,将不再執行。

如:

//@Test:添加該注解直接運作将報錯:java.lang.ArithmeticException: / by zero
@Test(expected=ArithmeticException.class)//添加預期異常,将不再報錯
public void testDivide() {
	assertEquals(2,new Calculate().divide(6, 0));
	//0不能作為除數
}

@Test(timeout=2000)//逾時時間設定為2秒,超過2秒将不再執行
public void testWhile(){
	while(true){
		System.out.println("run forever......");
	}
}
           

2、@Ignore:所修飾的測試方法會被測試運作器忽略,如:

@Ignore("測試該方法不會運作")
@Test(timeout=2000)//逾時時間設定為2秒,超過2将不再執行
public void testWhile2(){
	while(true){
		System.out.println("run forever......");
	}
}
           

3、@RunWith:用來修改測試運作器(可以自定義運作器,隻需要繼承org.junit.runner.Runner即可)