스프링 컨테이너와 DB까지 연결한 통합 테스트
어노테이션 추가
- @SpringBootTest
스프링 컨테이너와 테스트를 함께 실행
- @Transactional
테스트 시작 전에 트랜잭션을 시작하고, 테스트 완료 후 항상 롤백, DB에 데이터가 남지 않기 때문에 다음 테스트에 영향을 주지 않는다.
기존 test파일, 스프링 컨터이너 없이 수행
- test 할때마다 repository 객체를 새로 생성하여 독립적으로 시행
새 test파일, 스프링 컨테이너와 함께 수행
- 매번 새로운 repository 를 생성해서 test 하는게 아니라(DB 연결 전, 메모리 사용), 스프링 컨테이너로부터 DB를 받아서 테스트한다.
=> 불필요한 @BeforeEach 제거
- 다음 테스트에 영향을 주지 않기 위해 @transcation 어노테이션 추가.
=> 불필요한 매번 값을 지워주는 @AfterEach...{ clearStore() } 제거