Notice
Recent Posts
Recent Comments
Link
SeouliteLab
[Java/자바] JUnit을 활용한 Exception 테스트 본문
JUnit을 사용하여 예외 상황을 테스트하는 방법을 알아보겠습니다. 예외 상황을 테스트함으로써 코드의 안정성을 높일 수 있고, 예상치 못한 상황에 대한 처리를 검증할 수 있습니다.
1. 예외가 발생하는 경우의 테스트
JUnit을 사용하여 특정 메소드가 예외를 발생시키는지를 테스트하는 예제입니다.
// JUnit 라이브러리 임포트
import org.junit.Test;
import static org.junit.Assert.*;
// 예외가 발생하는 경우의 테스트 예제
public class ExceptionTest {
@Test(expected = ArithmeticException.class)
public void testDivisionByZero() {
Calculator calculator = new Calculator();
calculator.divide(10, 0); // 0으로 나누는 경우 예외 발생
}
}
위의 예제는 divide 메소드가 0으로 나누는 경우 ArithmeticException을 발생시키는지를 테스트합니다. @Test 어노테이션에 expected 속성을 사용하여 예상되는 예외를 명시했습니다. 따라서 해당 테스트 케이스는 ArithmeticException을 발생시켜야만 성공합니다.
2. 예외 메시지 비교
테스트하는 예외의 메시지를 비교하여 예외 테스트를 보다 정확하게 수행할 수 있습니다.
// 예외 메시지 비교하는 테스트 예제
public class ExceptionTest {
@Test
public void testExceptionMessage() {
Calculator calculator = new Calculator();
try {
calculator.divide(10, 0); // 0으로 나누는 경우 예외 발생
fail("Expected an ArithmeticException to be thrown");
} catch (ArithmeticException e) {
assertEquals("division by zero", e.getMessage());
}
}
}
위의 예제에서는 divide 메소드를 호출하여 예외가 발생하는 상황을 try-catch 블록으로 감쌌습니다. 예외가 발생하는 것을 예상하고, 예외 메시지를 비교하여 예외 테스트를 수행합니다.
3. 다양한 예외 테스트
다양한 예외 상황에 대한 테스트 케이스를 작성하여 코드의 안정성을 높일 수 있습니다. 예를 들어, 파일을 열거나 네트워크 연결을 시도할 때 발생할 수 있는 IOException 등에 대한 테스트도 필요합니다.
위에서는 JUnit을 사용하여 예외 상황을 테스트하는 방법에 대해 다뤄보았습니다. 예외를 효과적으로 처리하는 테스트 케이스를 작성함으로써 코드의 안정성을 높일 수 있습니다.'프로그래밍' 카테고리의 다른 글
[Java/자바] Hamcrest의 equalTo() Matcher를 활용한 값 동등성 검증 예제 (0) | 2024.03.15 |
---|---|
[Java/자바] Hamcrest Collections Matcher를 활용한 컬렉션 검증 예제 (0) | 2024.03.15 |
[Java/자바] JUnit을 활용한 자바 단위 테스트 예제 (0) | 2024.03.15 |
[Java/자바] JsonPath 라이브러리를 활용한 JSON 데이터 쿼리 예제 (0) | 2024.03.15 |
[Java/자바] org.json 라이브러리를 활용한 JSON 데이터 처리 예제 (0) | 2024.03.15 |