Testcontainers 는 JUnit 테스트를 지원하는 Java 라이브러리로 자바 코드를 통해 도커 컨테이너를 조작할 수 있는 기능을 지원합니다.
특징은 아래와 같습니다.
- H2 가 아닌 MySQL 로 테스트 환경을 동일하게 사용할 수 있다.
- 일회용으로 컨테이너 관리 없이 테스트에 활용할 수 있다.
- 로컬 환경에 도커 설치가 되어 있어야 한다.
- 다만 테스트 코드 실행 속도가 느리다.
- MySQL 뿐만 아니라 다른 이미지들을 테스트에 활용할 수 있다.
testImplementation "org.testcontainers:testcontainers:${testcontainersVersion}"
testImplementation "org.testcontainers:junit-jupiter:${testcontainersVersion}"
testImplementation "org.testcontainers:mysql:${testcontainersVersion}"
- 드라이버는 textcontainers 에 포함된 ContainerDatabaseDriver 를 사용해야 한다.
datasource:
driver-class-name: org.testcontainers.jdbc.ContainerDatabaseDriver