스프링 통합 테스트

728x90

이전에 테스트는 자바 코드로만 테스트를 한 것.

 

이제 스프링 부트 의 테스트 를 이용해보자

 

@SpringBootTest 어노테이션과 //스프링 컨테이너와 테스트를 함께 실행한다.

@Transactional 을 사용한다. //테스트 케이스에 이 애노테이션이 있으면, 테스트 시작 전에 트랜잭션을 시작하고, 테스트 완료 후에 항상 롤백한다. 이렇게 하면 DB에 데이터가 남지 않으므로 다음 테스트에 영향을 주지 않는다.

@SpringBootTest
@Transactional

class MemberServiceIntegrationTest {

	@Autowired MemberService memberService;
    @Autowired MemberRepository memberRepository
    
 	//테스트 작성//
    //테스트 작성//
}

 

스프링 위에서 테스트를 진행하기 위함이다.

@Transactional 를 테스트 케이스에 달면 테스트가 끝나면 DB를 롤백해준다. 그래서 테스트는 동작하지만 DB는 깔끔하게 초기화 시킬 수 있다. 테스트는 반복 할 수 있어야 한다.

반응형