[java] TestContainers를 사용하여 AWS 서비스 테스트하기
AWS 서비스는 많은 기업들이 사용하는 클라우드 컴퓨팅 플랫폼으로, 테스트 환경에서도 AWS 서비스를 테스트하고 검증해야할 필요가 있을 수 있습니다. 이를 위해 TestContainers를 사용하여 AWS 서비스를 테스트하는 방법에 대해 알아보겠습니다.
TestContainers란?
TestContainers는 테스트 환경에서 외부 리소스를 테스트하기 위해 사용되는 자바 라이브러리입니다. 이 라이브러리를 사용하면 컨테이너 기반의 환경을 구성하여 테스트에 필요한 데이터베이스, 메시지 큐, 웹 서버 등의 리소스를 간편하게 테스트할 수 있습니다.
AWS 서비스 테스트를 위한 TestContainers 사용하기
AWS 서비스를 테스트하기 위해 TestContainers를 사용하는 방법은 다음과 같습니다.
-
프로젝트에 TestContainers 종속성 추가하기
<dependency> <groupId>org.testcontainers</groupId> <artifactId>testcontainers</artifactId> <version>1.15.0</version> </dependency>
-
AWS 서비스 컨테이너 시작하기
AWSSecretsManagerContainer secretsManager = new AWSSecretsManagerContainer() .withSecretId("my-secret-id"); secretsManager.start();
위의 예제는 TestContainers를 사용하여 AWS Secrets Manager 서비스 컨테이너를 시작하는 방법입니다.
withSecretId
메소드를 사용하여 시크릿 ID를 지정할 수 있습니다. -
테스트 코드 작성하기
@Test void testAWS() { AWSSecretsManager client = AWSSecretsManagerClientBuilder.standard() .withEndpointConfiguration(new AwsClientBuilder.EndpointConfiguration( secretsManager.getEndpointOverride(), "us-east-1")) .build(); // AWS 서비스를 사용한 테스트 코드 작성하기 }
위의 예제 코드에서는
AWSSecretsManagerClientBuilder
를 사용하여 AWS Secrets Manager 클라이언트를 생성하고, AWS 서비스를 사용하는 테스트 코드를 작성합니다. -
컨테이너 종료하기
secretsManager.stop();
테스트가 완료되면 컨테이너를 종료하여 자원을 정리합니다.