> Java > java지도 시간 > JUnit에서 예외 처리를 효과적으로 테스트하려면 어떻게 해야 합니까?

JUnit에서 예외 처리를 효과적으로 테스트하려면 어떻게 해야 합니까?

DDD
풀어 주다: 2024-12-20 05:49:10
원래의
570명이 탐색했습니다.

How Can I Effectively Test for Exception Handling in JUnit?

JUnit에서 예외 처리 테스트

JUnit에서는 특정 예외가 발생하는지 여부를 여러 가지 방법으로 테스트할 수 있습니다.

JUnit 5 및 4.13

@Test 주석은 이제 예상 속성을 지원하므로 예상 예외를 지정할 수 있습니다. 유형:

@Test(expected = IndexOutOfBoundsException.class)
public void testIndexOutOfBoundsException() {
    ArrayList emptyList = new ArrayList();
    Object o = emptyList.get(0);
}
로그인 후 복사

AssertJ 또는 Google Truth

AssertJ 및 Google Truth와 같은 타사 어설션 라이브러리는 예외 테스트를 위한 보다 간결한 구문을 제공합니다.

// AssertJ
assertThatThrownBy(() -> foo.doStuff()).isInstanceOf(IndexOutOfBoundsException.class);

// Google Truth
assertWithMessage("Expected IndexOutOfBoundsException").thatExceptionOfType(IndexOutOfBoundsException.class).isThrownBy(() -> foo.doStuff());
로그인 후 복사

JUnit < ;= 4.12

JUnit 4.12 이하의 경우 여러 옵션이 있습니다:

  1. 부울 플래그: 원래 질문의 코드와 유사합니다.
  2. @Rule: @Rule 주석 예외가 발생했다고 주장하는 테스트 규칙을 만드는 데 사용할 수 있습니다.
  3. 사용자 정의 matchers: 특정 유형의 예외가 발생했는지 확인하려면 사용자 정의 Hamcrest matcher를 만듭니다.

이러한 옵션에 대한 자세한 내용은 JUnit 테스트-FAQ를 참조하세요.

위 내용은 JUnit에서 예외 처리를 효과적으로 테스트하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿