티스토리 뷰

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이 발생하는 부분을 확인할 수 있다.

반응형

'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