728x90
- @ContextConfiguration
- 스프링이 제공하는 애노테이션으로, 스프링 테스트 컨텍스트가 사용할 설정 파일 또는 컨텍스트를 커스터마이징 할 수 있는 방법을 제공한다.
- ApplicationContextInitializer
- 스프링 ApplicationContext를 프로그래밍으로 초기화 할 때 사용할 수 있는 콜백 인터페이스로, 특정 프로파일을 활성화하거나, 프로퍼티 소스를 추가하는 등의 작업을 할 수 있다.
- TestPropertyValues
- 테스트용 프로퍼티 소스를 정의할 때 사용한다.
- Environment
- 스프링 핵심 API로, 프로퍼티와 프로파일을 담당한다.
- 전체 흐름
- Testcontainer를 사용해서 컨테이너 생성
- ApplicationContextInitializer를 구현하여 생선된 컨테이너에서 정보를 축출하여 Environment에 넣어준다.

Spring Container에 환경변수를 등록한다(스프링이 container 정보를 알 수 있다)
- @ContextConfiguration을 사용해서 ApplicationContextInitializer 구현체를 등록한다.

구현체 등록
- 테스트 코드에서 Environment, @Value, @ConfigurationProperties 등 다양한 방법으로 해당 프로퍼티를 사용한다.

Spring 컨테이너가 알고 있기 때문에 해당 방식으로 가지고 올 수 있다. 
728x90
'더 자바, 애플리케이션을 테스트하는 다양한 방법' 카테고리의 다른 글
| Ch04. 성능 테스트 - JMeter 소개 (0) | 2022.01.10 |
|---|---|
| Ch03. 도커와 테스트 - Testcontainers 도커 Compose 사용하기 (0) | 2022.01.09 |
| Ch03. 도커와 테스트 - Testcontainers 기능 살펴보기 (0) | 2022.01.07 |
| Ch03. 도커와 테스트 - Testcontainers 설치 (0) | 2022.01.07 |
| Ch03. 도커와 테스트 - Testcontainers 소개 (0) | 2022.01.07 |