테스트에서 도커 컨테이너를 실행할 수 있는 라이브러리이다.
근데 이걸 언제 , 어떻게 사용하는가?
💡 여기서 알게 된 것… docker를 윈도우 CLI환경에서 사용하려면 docker desktop을 설치하는 것 뿐만 아니라 이 친구를 실행하고 있어야 한다.
docker run -p 5432:5432 --name study-db -e POSTGRES_USER=study -e POSTGRES_PASSWORD=study -e POSTGRES_DB=study -d postgres
docker run을 통해 postgresql을 설치해주자.
테스트에서 도커 컨테이너를 왜 실행해볼까? 보통 테스트에서는 인메모리 DB(스프링에서는 h2)같은걸 사용한다. 그런데 이러면 사실 로컬에서는 발견되지 못한 문제가 프로덕션 환경에서 발견될 수 도 있다. 디비의 트랜잭션 수준같은게 차이가 있을 수도 있어서..
그래서 테스트할때 임시로 DB를 도커 컨테이너로띄워서 테스트해볼 수 있음. 이럴때 사용되는게 Testcontainer이다.
위처럼 일일이 docker run으로 컨테이너를 띄우고, 정리하고 테스트때마다 이걸 반복하는건 굉장히 귀찮은 일이다. 따라서 테스트시 자동으로 도커 컨테이너가 띄워지도록 할 수 있다.
이를 돕는 라이브러리가 Testcontainers임.