> Java > java지도 시간 > JUnit 5의 `assertThrows()`는 어떻게 예외 테스트를 단순화할 수 있습니까?

JUnit 5의 `assertThrows()`는 어떻게 예외 테스트를 단순화할 수 있습니까?

Barbara Streisand
풀어 주다: 2024-11-26 15:49:11
원래의
720명이 탐색했습니다.

How Can JUnit 5's `assertThrows()` Simplify Exception Testing?

JUnit 5의 향상된 예외 어설션

이전에 JUnit 5에서 예외 처리를 확인하기 위해 @Rule이 사용되었지만 여러 테스트 시 제한이 있었습니다. 단일 테스트 내에서 예외가 발생합니다. 이 프로세스를 간소화하고 추가적인 유연성을 얻기 위해 JUnit 5에서는 AssertThrows()를 도입했습니다.

преимуЂества использования AssertThrows()

  • 단일 내에서 여러 예외 테스트를 허용합니다. test
  • Java 8에서 람다 표현식의 강력한 기능을 수용
  • JUnit에서 예외 테스트를 위해 권장되는 접근 방식을 나타냅니다

Использование AssertThrows()

구문 AssertThrows()는 간결하고 직관적입니다.

assertThrows(expectedExceptionClass, supplier, message)
로그인 후 복사
  • expectedExceptionClass: 예상되는 예외 유형을 지정합니다.
  • 공급자: 람다 식 던질 것으로 예상되는 코드를 호출하는 예외
  • 메시지: 예외가 발생하지 않는 경우 표시할 선택적 메시지

Пример использования

import static org.junit.jupiter.api.Assertions.assertThrows;

@Test
void exceptionTesting() {
    MyException thrown = assertThrows(
           MyException.class,
           () -> myObject.doThing(),
           "Expected doThing() to throw, but it didn't"
    );

    assertTrue(thrown.getMessage().contains("Stuff"));
}
로그인 후 복사

활용하여 AssertThrows()를 사용하면 이제 JUnit 5에서 예외를 효율적으로 테스트하여 강력하고 철저한 코드 테스트를 보장할 수 있습니다.

위 내용은 JUnit 5의 `assertThrows()`는 어떻게 예외 테스트를 단순화할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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