AssertJ Exception Assertions

참고 링크

https://www.baeldung.com/assertj-exception-assertion

1. 개요

  • 이번에는 AssertJ 라이브러리의 예외 전용 Assert 에 대해서 알아보자.

2. AssertJ 를 사용하지 않은 예제

  • 예외가 발생했는지 테스트하려면 예외를 catch 해야 한다.

  • 아래 코드에서 예외가 발생하지 않는다면 테스트는 성공하게 되는데, 테스트에서 예외가 발생해야만 한다면 예외가 발생하지 않는 테스트는 실패한 테스트이다.

try {
    // ...
} catch (Exception e) {
    // assertions
}

3. AssertJ 를 사용하는 예제

assertThatThrownBy()

  • 범위를 벗어난 항목을 인덱싱하면 IndexOutOfBoundsException 이 발생하는지 확인하는 코드이다.

  • 다양한 표준 AssertJ 메서드가 존재한다.

assertThatExceptionOfType()

  • 위 예제와 비슷하지만, 처음부터 예외 유형을 지정할 수 있다.

assertThatIOException 및 기타 일반 유형

  • assertThatIllegalArgumentException()

  • assertThatIllegalStateException()

  • assertThatIOException()

  • assertThatNullPointerException()

...

Last updated