entitymanager1 [Spring, JUnit5] 테스트 격리: DB 초기화 (InitializingBean, BeforeEachCallback) 테스트를 진행할 때, 테스트간에 영향을 주어서는 안된다.예를 들어, 삽입 테스트 이후 조회 테스트가 실행되더라도 이전 삽입 테스트 결과에 영향을 받지 않아야한다.그래서 우테코에서 처음 제공되었던 테스트 코드에는 @DirtiesContext가 설정되어있었다.(@DirtiesContext는 간단히 말하면 테스트마다 컨텍스트를 새로 로드하는 설정이다. 그래서 상대적으로 많은 시간이 소요된다.) 테스트 코드가 늘어날수록 테스트에 소요되는 시간이 늘어났고, 그 몇 초 조차 기다리기 싫어진 나는 @Sql을 사용해 테스트 데이터를 초기화하는 방법을 적용했었다.아래와 같은 방식으로 적용 가능한데, 해당 테스트 클래스를 실행할 때 reset_test_data.sql을 실행하겠다는 의미이다. 실행되는 옵션으로 BEFORE.. 2024. 5. 25. 이전 1 다음