[Spring] @SpringBootTest의 테스트 격리시키기(TestExecutionListener), @Transactional로 롤백되지 않는 이유
이번에 넥스트스텝 ATDD 강의를 듣게 되었습니다. 과제 중에 @SpringBootTest를 사용하는 테스트들을 격리시키는 부분이 있었는데, 제가 사용했던 방법을 공유하도록 하겠습니다. 1. SpringBootTest가 @Transactional로 롤백되지 않는 이유 [ SpringBootTest에서 트랜잭션 롤백되지 않는 이유 ] 테스트에서의 트랜잭션 롤백 @DataJpaTest를 사용하면 영속성 계층을 편리하게 테스트 할 수 있다. 각각의 테스트 메소드가 끝나면 테이블은 비워지면서 모든 테스트가 격리된다. 그 이유는 @DataJpaTest 어노테이션 안에 @Transactional이 있어서 테스트가 끝나면 트랜잭션을 롤백시키기 때문이다. @Target(ElementType.TYPE) @Retentio..
Spring
2022. 7. 18. 10:00