실제 서비스를 이용한 검사
대역 객체를 사용하면 빠르게 로직을 확인할 수 있지만 실제 서비스와의 호환성은 별도로 검사해야 한다. Testcontainers는 테스트에 필요한 컨테이너 인스턴스를 준비하는 역할을 맡는다. 프로그램이 실제 프로토콜로 의존 서비스에 연결하는 상황을 구성할 수 있다.
일회성 환경의 의미
테스트마다 사용할 환경을 코드 가까이에서 정의하면 개발자의 수동 설정에 대한 의존을 줄일 수 있다. 다만 컨테이너가 생성되었다는 사실과 서비스가 요청을 처리할 준비가 되었다는 사실은 다르다. 초기 데이터 준비와 준비 상태 확인을 검사 흐름에 포함해야 한다. 이미지와 설정을 일정하게 관리하는 것도 재현성에 중요하다.
운영 환경과의 차이
컨테이너를 실행할 수 있는 기반 환경이 필요하며 시작 시간과 이미지 준비 비용도 든다. 일회성이라고 해서 모든 외부 자원까지 자동으로 격리되는 것은 아니다. 연결 주소와 자원 범위를 테스트용으로 분리한다. 단일 컨테이너 기반 검사는 운영 환경의 네트워크나 다중 노드 장애를 모두 재현하지 못하므로 목적에 맞는 다른 검사와 함께 사용한다.