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

Bell Vise님의 프로필 이미지
Bell Vise

작성한 질문수

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

fail()이 무엇인가요

해결된 질문

작성

·

234

·

수정됨

0

회원 서비스에 대한 테스트코드 중 일부인데

try {
memberService.join(member2);
fail();
} catch (IllegalStateException e) {
assertThat(e.getMessage()).isEqualTo("이미 존재하는 회원입니다.");
}

 

여기서 fail()에 대한 제대로된 설명이 없이 넘어가셨는데 fail()이 무엇인가요?

답변 2

1

안녕하세요. Bell Vise님, 공식 서포터즈 OMG입니다.

fail()은 호출 시 강제로 해당 테스트가 실패하며, 강의에서 진행한 케이스와 같이 fail()을 호출하는 시점까지 진입하는지의 여부를 (테스트의 성공/실패 결과 기반으로) 확인할 때 사용합니다.

 

fail() 호출 시 테스트

image

 

추가로 밑에 주석에 설명을 남겨놓았는데요,

중복회원 시 예외가 발생하는 로직인 것은 강의 앞에서 설명하여 이해하고 있으리라 생각합니다.

member1을 회원가입한 후,

member2를 member1과 동일한 이름으로 가입할 시 예외가 발생하는데요.

따라서 fail()을 호출하지 않고 catch문이 실행되는 것을 보여주시기 위함으로 보시면 될 것 같습니다 😀

@Test
public void 중복_회원_예외() {
   // given
   Member member1 = new Member();
   member1.setName("spring");
   Member member2 = new Member();
   member2.setName("spring");

   // when
   memberService.join(member1);
   try {
      memberService.join(member2); // -> 이 시점에 예외가 발생하여
      // 아래의 fail()을 호출하지 않고
      fail();
   } catch (IllegalStateException e) {
      // catch문이 실행
   }
}

감사합니다.


 

 

0

안녕하세요, 인프런 AI 인턴입니다.

질문하신 fail() 함수에 대한 설명은 “중복_회원_예외 fail()에 생기는 빨간줄!” 이라는 제목의 글에서 강의 수강생과 공식 서포터즈 간의 대화를 통해 확인하실 수 있습니다. 해당 함수의 사용 예와 기대하는 동작에 대한 상세한 설명이 포함되어 있어서 도움이 될 것입니다.

해당 내용을 확인하시려면 아래 링크를 참고해주세요.
- 중복_회원_예외 fail()에 생기는 빨간줄!

감사합니다.

Bell Vise님의 프로필 이미지
Bell Vise

작성한 질문수

질문하기