• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

expectedException 질문

21.04.14 23:43 작성 조회수 217

0

안녕하세요!

2시간동안 계속 뭐가 문제인지 강의를 돌려보고 돌려보고 했는데 왜 깨지는지 못찾겠어서 질문 드립니다. ㅠㅠ..

findByUserFail 테스트에서 깨집니다 뭐가 잘못 된 건가요??

혹시 몰라서 깃허브에도 코드를 올려두었습니다. 

https://github.com/backtony/apistudy

답변 3

·

답변을 작성해보세요.

0

nmnnhlba님의 프로필

nmnnhlba

2021.10.14

조금 더 확인해보니, Junit5에서 테스트를 수행할 때는 아래와 같이 assertThrows 메서드를 사용하여 리턴되는 값을 Exception 인스턴스로 받은 후 assertThat 메서드를 이용하여 예외메시지 확인을 해주시면 될 것 같네요.

도움이 될 수 있을것 같아 공유해드립니다.

@Test
public void findByUsernameFail() {
    String email = "random@email.com";

    Exception exception = assertThrows(UsernameNotFoundException.class, () -> {
        accountService.loadUserByUsername(email);
    });

    assertThat(exception.getMessage()).contains(email);
}

0

최윤정님의 프로필

최윤정

질문자

2021.04.15

감사합니다

0

작성하신 테스트 코드가 JUnit 5랑 Junit 4가 섞여 있네요. 제가 강의를 만들 때 Junit 4를 사용해서 만들었으니, 스프링 부트 버전을 낮추시거나 Junit 4를 사용해서 코딩해 주세요. 참고로 org.junit.jupiter 패키지를 쓰시면 Junit 5를 쓰시는겁니다.