위키득계정 ↗
기술

Dockertest

Dockertest기술
분야
통합 테스트 환경
언어
Go
실행 기반
Docker
구성
풀과 컨테이너 자원
Dockertest는 Go 통합 테스트에 필요한 외부 서비스를 Docker 컨테이너로 준비하는 라이브러리다. 이미지 실행과 연결 정보, 준비 상태 대기와 자원 정리를 테스트 코드에 연결한다.

실제 서비스로 검사하기

데이터베이스 동작을 대역으로만 확인하면 실제 서버의 제약이나 쿼리 호환성을 놓칠 수 있다. Dockertest는 필요한 컨테이너를 실행해 이런 통합 검사를 구성하도록 돕는다. 이미지를 가져오거나 Dockerfile에서 빌드하는 구성을 사용할 수 있다. 컨테이너를 실행하는 환경과 실제 접속할 클라이언트도 필요하다.

실행 상태와 준비 상태

컨테이너가 시작되었다고 서버가 바로 요청을 처리할 수 있는 것은 아니다. 접속 확인 같은 작업을 재시도하며 준비가 끝났는지 확인할 수 있다. 내부 포트와 호스트 접속 주소를 구분하고 시작 결과에서 연결 정보를 얻는다. 대기 제한을 지나치게 늘리기보다 시작 실패와 초기화 지연의 원인을 구분한다.

재사용과 정리의 범위

저장소의 4 계열 안내는 컨테이너 자동 재사용과 참조 기반 해제를 설명한다. 재사용이 켜져 있으면 매 검사에 비어 있는 환경이 생긴다고 가정해서는 안 된다. 이미지나 이름 있는 볼륨 등 자동 정리 밖의 자원도 구분한다. 설치 버전의 수명 주기와 API를 확인하고 공유 데이터가 검사 사이에 남지 않도록 설계한다.

관련 문서

Testcontainers Go / Go-txdb / Go-sqlmock / Miniredis