Web/정리글
Junit5 테스트
구름뭉치
2021. 7. 12. 14:03
스프링 부트에서 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이 발생하는 부분을 확인할 수 있다.
반응형