티스토리 뷰
스프링 부트에서 Junit으로 테스트를 진행할 때 예외케이스를 테스트하는 경우
Junit4의 경우
@Test (expected = IllegalStateException.class)
public void duplicatedMemberException() throws Exception {
//given
Member member1 = new Member();
member1.setName("mem1");
Member member2 = new Member();
member2.setName("mem1");
//when : 동일한 이름의 회원이 저장될 경우 IllegalStateException 발생
memberService.join(member1);
memberService.join(member2);
}
예외가 발생하게 되고, 이를 @Test 옆에 반환 예측값을 적어서 확인했다
Junit5의 경우
@Test
public void duplicatedMemberException() throws Exception {
//given
Member member1 = new Member();
member1.setName("mem1");
Member member2 = new Member();
member2.setName("mem1");
//when
memberService.join(member1);
//then : 예외가 발생하는 구간에서 바로 확인하게 된다
assertThrows(IllegalStateException.class, () -> {
memberService.join(member2); // 중복 이름의 회원이 가입되면서 예외 발생
});
}
Junit5의 방식으로 Test시 좀 더 구체적으로 Exception이 발생하는 부분을 확인할 수 있다.
반응형
'Web > 정리글' 카테고리의 다른 글
JPA 정리 (0) | 2021.08.04 |
---|---|
Servlet 정리 (0) | 2021.07.28 |
Spring MVC Architecture 정리 (0) | 2021.07.27 |
DAO, DTO 정리 (0) | 2021.07.18 |
Junit Test 환경 (0) | 2021.07.12 |
Comments
반응형
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday