[Spring Boot] 스프링부트 (IntelliJ)/Spring boot

junit을 이용한 테스트2

류도토리 2024. 1. 5. 14:37

given, when, then 주석 틀 이용하기

@Test
void join(){
	//given
    Member member = new Member();
    member.setName("hello");
    
    //when
    Long saveId = memberService.join(member);
    
    //then
    Member findeMember = memberService.findOne(saveId).get();
    Assertions.assertThat(member.getName()).isEqualTo(findMember.getName());
}

이런식으로 사용하면 보기 편하다.

 

void duplicateJoin(){ // 중복을 일부러 만들어 테스트해보는 메서드
	//given
    Member member1 = new Member();
    member1.setName("spring");
    
    Member member2 = new Member();
    member2.setName("spring");
    
    //when
    memberService.join(member1);
	IllegalStateException e = assertThrows(IllegalStateException.class, ()-> MemberService.join(member2));
    
    assertThat(e.getMessage()).isEqualTo("중복된 회원입니다.");
    
    //then
    
}

 

 

@beforeEach - 각 메서드가 실행되기 전 실행되는 메서드 어노테이션