在JUnit中,測試異常的方法主要是使用@Test
注解中的expected
參數來捕獲異常。下面是一個示例代碼:
import org.junit.Test;
public class ExceptionTest {
@Test(expected = ArithmeticException.class)
public void testArithmeticException() {
int result = 1 / 0;
}
@Test
public void testNullPointerException() {
try {
String str = null;
int length = str.length();
} catch (NullPointerException e) {
// 可以在catch塊中添加斷言,檢查異常是否符合預期
}
}
}
在第一個測試方法中,我們使用了@Test(expected = ArithmeticException.class)
來捕獲ArithmeticException異常。如果代碼中拋出了ArithmeticException異常,測試將會通過。如果代碼沒有拋出異常,測試將會失敗。
在第二個測試方法中,我們使用了try-catch塊來捕獲NullPointerException異常,并且可以在catch塊中添加斷言,檢查異常是否符合預期。
除了使用expected
參數和try-catch塊外,JUnit還提供了@Rule
注解和ExpectedException
規則類來測試異常。可以根據具體的需求選擇合適的方式來測試異常。