해결된 질문
작성
·
234
·
수정됨
0
회원 서비스에 대한 테스트코드 중 일부인데
try {
memberService.join(member2);
fail();
} catch (IllegalStateException e) {
assertThat(e.getMessage()).isEqualTo("이미 존재하는 회원입니다.");
}
여기서 fail()에 대한 제대로된 설명이 없이 넘어가셨는데 fail()이 무엇인가요?
답변 2
1
안녕하세요. Bell Vise님, 공식 서포터즈 OMG입니다.
fail()은 호출 시 강제로 해당 테스트가 실패하며, 강의에서 진행한 케이스와 같이 fail()을 호출하는 시점까지 진입하는지의 여부를 (테스트의 성공/실패 결과 기반으로) 확인할 때 사용합니다.
fail() 호출 시 테스트
추가로 밑에 주석에 설명을 남겨놓았는데요,
중복회원 시 예외가 발생하는 로직인 것은 강의 앞에서 설명하여 이해하고 있으리라 생각합니다.
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()에 생기는 빨간줄!
감사합니다.