인프런 커뮤니티 질문&답변

Ahrisan님의 프로필 이미지
Ahrisan

작성한 질문수

실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발

회원 기능 테스트

예외테스트 중 저번강의에서 햇던 것과 차이

작성

·

180

0

Exception을 테스트하는 부분에서 궁금한 점입니다.

 

해당 강의에서는 @Test(expected = IllegalStateException.class) 어노테이션과
fail()함수를 이용해서 테스트하셨는데, 

이 강의보다 최신강의로 알고있는 spring 기본편에서 테스트하실때는 아래코드와 같이 하셨습니다.

두 테스트 차이가 있을까요?

 

@Test
    public void 회원가입_중복() throws Exception {
        // given
        Member member1 = new Member();
        member1.setName("인프런");
        Member member2 = new Member();
        member2.setName("인프런");

        // when
        memberService.join(member1);
        
        // then
        IllegalStateException e = assertThrows(IllegalStateException.class, () -> {
            memberService.join(member2);
        });
        assertThat(e.getMessage()).isEqualTo("이미 존재하는 회원입니다.");
    }

답변 1

0

안녕하세요. 김진영님, 공식 서포터즈 OMG입니다.

JPA 활용1편에서의 방식은 Junit4의 기능이며 위의 예시에서는 Junit5의 기능입니다.

스프링부트 2.2.x부터 기본 Junit버전이 5로 올라감에 따라 Junit5의 기능을 사용하신 것으로 보시면 됩니다.

추가로

아래 링크에서 서포터즈 codesweaver 님의 답변 참고 부탁드립니다.

Junit5 의 Assertions.fail 에 대해 질문이 있습니다. - 인프런 | 질문 & 답변 (inflearn.com) 감사합니다.

Ahrisan님의 프로필 이미지
Ahrisan

작성한 질문수

질문하기