스프링 통합 테스트

ttaho·2023년 1월 23일

Spring

목록 보기
7/13

DB는 기본적으로 transaction이라는 개념이 있다.
commit 전까지는 DB에 반영이 안된다. test코드에 @Transcational 애노테이션을 달면 test할 때 insert를 하지만 끝나면 롤백을 하기 때문에 DB에 남지 않는다.

  • @SpringBootTest: 스프링 컨테이너와 테스트를 함께 실행한다.
  • @Transactional: 테스트 케이스에 이 애노테이션이 있으면, 테스트 시작 전에 트랜잭션을 시작하고, 테스트 완료 후에 항상 롤백한다. 이렇게 하면 DB에 데이터가 남지 않으므로 다음 테스트에 영향을 주지 않는다.

하지만 기존에 했던 단위테스트 형식이 빠르기도하고 좋은테스트이다.

profile
SW Engineer

0개의 댓글