테스트 환경에서 DB 선택은 다음과 같다.
1. 운영환경과 유사한 스펙의 DB(개발 환경 DB) 사용하기
운영 환경과 유사한 테스트를 할 수 있다는 장점이 존재한다.
테스트 코드의 신뢰성이 깨질 수 있다. 즉, 실행하면 같은 결과값이 안 나오는 경우가 있다.
공용으로 같은 DB를 다른 개발자와 같이 바라보고 있으면, A 개발자는 DB 조회를 하고, B에서는 그 테이블을 제거하고 있을시에 다른 결과값이 나올 수 있다.
따라서 독립적인 환경의 데이터베이스가 필요하다.
2. 인메모리 DB(ex. H2) 사용하기
3. Docker 사용하기
4. TestContainers를 이용하기