스프링 부트 _ 스프링 통합 테스트

박준식·2022년 9월 17일
0

Spring Boot

목록 보기
9/13

스프링 통합 테스트

  • @Test 어노테이션은 스프링과 관련 없는 작업코드만을 테스트할 때 사용함.
  • DB 연결 정보같이 스프링 부트와 연동할 필요가 있는 코드의 경우 @SpringBootTest와 @Transactional 어노테이션을 test용 클래스에 붙인다.
  • 통합 테스트를 할 경우 service나 repository는 직접 객체를 생성하는게 아니라 스프링 컨테이너로부터 받아와야 한다. 따라서 @Autowired 어노테이션을 붙인다.
  • DB에는 Transaction이라는 개념이 있다. query를 날린 후 commit을 해야 DB에 반영이된다(따로 commit을 안하면 AutoCommit 하는 중임). 즉, 롤백을 시키면 DB에는 해당 데이터가 쌓이지 않는다는 뜻이다. @Transacional은 이를 각 테스트마다 적용시켜 할때 일일이 넣은 데이터를 지울 필요가 없게 해준다.
  • @Commit을 붙이면 그래도 commit 해준다.

0개의 댓글