스프링 DB 접근 기술 - 스프링 통합 테스트

2022. 7. 31. 14:012022/Spring

MemberServiceIntegrationTest.java

@SpringBootTest
스프링 컨테이너와 테스트를 함께 실행한다.
@Transactional
@AfterEach로 데이터를 지우는 역할을 테스트케이스에 이 어노테이션이 붙게 되면 대신한다.
즉, db에 데이터를 insert 한 이후에 commit 하지 않고 rollback 하는 역할을 수행하기 때문에 실제 데이터는 db에 반영되지 않고 같은 데이터로 반복 테스트를 하여도 테스트 에러(예외)가 나지 않는다.

 

이전에 했던 MemberServiceTest.java를 단위테스트 라고 한다면,

이번 MemberServiceIntegrationTest.java와 같은 테스트를 통합테스트 라고 한다.

 

* 단위테스트를 하는 것이 좋은 테스트일 확률이 높으며, 스프링 컨테이너 없이 테스트하는 훈련을 해야한다.