[java] JUnit에서 예외 처리하기

JUnit은 자바의 유닛 테스트를 위한 프레임워크로서, 코드의 동작을 검증하고 예외 처리를 할 수 있는 기능도 제공합니다. 이번 포스트에서는 JUnit을 사용하여 예외 처리를 하는 방법에 대해 알아보겠습니다.

예외 처리를 위한 어노테이션

JUnit에서는 @Test 어노테이션을 사용하여 테스트 메소드를 정의합니다. 예외 처리를 위해서는 @Test 어노테이션에 expected 속성을 사용하여 예외 클래스를 지정해야 합니다. 예외가 발생하지 않거나, 다른 예외가 발생한 경우 해당 테스트는 실패하게 됩니다.

@Test(expected = 예외클래스.class)
public void 예외_발생_테스트() {
    // 예외가 발생할 코드
}

위의 예제에서는 예외클래스가 발생하는지를 확인하는 테스트 메소드를 정의하고 있습니다.

예외 메시지 확인하기

@Test 어노테이션의 expected 속성은 예외 클래스만을 검증할 뿐, 예외 메시지의 내용을 검증하기 어렵습니다. 하지만 JUnit 4부터는 @Rule 어노테이션을 사용하여 예외 처리를 좀 더 효율적으로 할 수 있습니다. ExpectedException 클래스를 사용하면 예외 클래스뿐만 아니라 예외 메시지도 검증할 수 있습니다.

@Rule
public ExpectedException exception = ExpectedException.none();

@Test
public void 예외_메시지_테스트() {
    exception.expect(예외클래스.class);
    exception.expectMessage("예외 메시지");
    
    // 예외가 발생할 코드
}

위의 예제에서는 ExpectedException 객체를 생성한 뒤, expect 메소드를 사용하여 예외 클래스와 예외 메시지를 검증하고 있습니다. 이렇게 하면 예외 발생 시 예외 메시지도 검증할 수 있습니다.

예외 처리를 통한 테스트의 완성도 향상

예외 처리를 통해 테스트를 더욱 완전하게 만들 수 있습니다. 예외 처리를 통해 예상하지 못한 예외 상황에도 적절하게 대응하고 처리할 수 있습니다. 예외 처리를 잘 활용하여 코드의 견고성을 향상시켜보세요.

참고자료