Integration Test에서 DB 분리를 해보며 찾았던 방법과 그에 대한 고민들을 적어본다.
테스트하는 클래스 위에 @Transactional을 붙이게 되면
Test가 모두 수행된 후 DB는 Rollback
되기 때문에 **테스트 간의 격리
**를 시킬 수 있다.
근데 Test를 진행하기 위해 우선 들어가 있어야 하는 값들이 있을 땐 어떻게 해야할까…
mock으로 처리해서 ㄱㄱ
id를 1로 지정하고 Test Code를 돌려도 Mysql identity이기 때문에
1이 아니라 계속 증가해서 테스트 실패하고 404 내려옴
해결 방안
Truncate 시키면 identity 1부터 다시 시작
delete는 identity reset XX -> id를 1부터 시작 못 시켜서 배제
id를 1로 지정하고 Test Code를 돌리게 되면 identity이기 때문에 한 번은 성공하지만