TIL - 21.01.13

less than 1 minute read

Exception 테스트

  • assertThatThrownBy()를 이용 예외가 발생하는 코드를 넣고, 해당 예외가 맞는지 확인
@Test
@DisplayName("없는 회원정보 조회")
void view_user_profile_fa() {
    // Given
    User user = new User.Builder()
            .seq(0)
            .email("solar@test.com")
            .passwd("password10")
            .build();
    int notExistUserId = 1000;

    // WHEN
    when(userRepository.findById(notExistUserId)).thenReturn(Optional.empty());

    // Then
    assertThatThrownBy(() -> {
        userService.viewProfile(notExistUserId);
    }).isInstanceOf(NotFoundUserException.class)
            .hasMessage("회원 정보를 찾을 수 없습니다.");
}

자주 쓰이는 예외 처리 syntax AssertJ에서는 자주 발생하는 예외들에 대해서 정의된 함수를 제공한다.

assertThatNullPointerException assertThatIllegalArgumentException assertThatIllegalStateException
assertThatIOException

REF

  • https://pjh3749.tistory.com/241