위키득계정 ↗
기술

Testcontainers Node

Testcontainers Node기술
분야
통합 테스트 환경
실행 환경
Node JS
구성
범용 컨테이너와 전용 모듈
연결
호스트와 매핑된 포트
Testcontainers Node는 Node.js 테스트에서 컨테이너 기반 의존 서비스를 실행하는 라이브러리다. 범용 컨테이너 구성과 서비스별 모듈을 통해 실제 서버를 사용하는 통합 검사를 돕는다.

서비스를 시작하고 연결하기

테스트에서 컨테이너를 시작한 뒤 실제 서비스를 이용하는 클라이언트를 연결한다. 컨테이너 내부 포트와 호스트에서 접속할 포트는 다를 수 있으므로 시작 결과에서 연결 정보를 얻어야 한다. 서버를 준비하는 라이브러리와 그 서버에 명령을 보내는 클라이언트는 서로 다른 역할이다.

범용 구성과 전용 모듈

범용 컨테이너에서는 이미지와 포트, 환경 변수, 대기 조건 등을 구성한다. 서비스별 모듈은 이런 반복 설정과 연결 정보 처리를 줄이는 데 도움이 된다. 다만 모듈이 제공하는 기본값이 프로젝트 요구와 맞는지는 확인한다. 이미지 다운로드가 필요한 첫 실행은 캐시가 있는 실행보다 오래 걸릴 수 있다.

비동기 준비와 정리

컨테이너와 클라이언트의 시작을 완료한 다음 검사를 실행하고 종료도 명시적으로 기다려야 한다. 준비가 실패하는 경로에서도 이미 만든 자원을 정리할 수 있게 구성한다. 여러 검사가 공유하는 데이터는 격리하고 사용하는 테스트 실행기의 시간 제한도 환경 비용에 맞춘다. 컨테이너에서 통과한 결과가 운영 환경의 모든 차이를 보장하는 것은 아니다.

관련 문서

Testcontainers Python / Testcontainers Go / Pact JS / Mock Service Worker