Spring
Test 의 db 롤백 어디까지 알아보셨나요?
문제 상황 SpringBootTest를 사용하던 상황에서 db 롤백이 이루어지지 않아서 테스트 간 격리가 이루어지지 않는 상황이 발생하였는데요 이를 바탕으로 어떻게 test 마다 어떻게 Transactional 이 적용되는지, 그리고 어떤 경우에 롤백이 되지 않는지, 이를 해결하기 위한 방법은 어떤 것이 있는지에 대해서 정리해 보겠습니다 Test에서 Transactional 은 롤백된다 test에서 transactional 이 사용되면 자동적으로 롤백이 됩니다. 여기 적혀 있는 것처럼 db 호출은 자동적으로 rollback이 되어 매 테스트마다 깨끗한 db 상태를 유지할 수 있습니다 Junit과 함께 사용될 경우에 메서드마다 호출되는 @BeforeEach와, @AfterEach는 트랜잭션으로 묶여 있습니..