@ActiveProfiles
2023. 7. 5. 16:19
@ActiveProfiles
란 Spring 테스트에서 특정 프로필을 활성화 하기 위해 사용하는 어노테이션이다.
예를 들어 아래와 같은 application.yml 파일이 있다 가정한다.
spring:
profiles:
group:
prod: prodDB, common
test: testDB, common
active: prod
위처럼 profiles group을 나누는 이유는 prod 환경과 test 환경을 구분하기 위해서 이다. 예를들어 prod 환경에선 Mysql을 사용한다면, test 환경에서는 h2 인메모리 DB를 사용하는것처럼 서로다른 DB를 사용하는 상황을 대비해 위처럼 group을 나눌수 있다.
그리고 각 프로파일에 대한 설정은 application-{profile}.yml
이라는 파일에 저장하게 된다.
이때 {profile}
부분에는 실제 프로파일 이름이 들어가게 되며, 예를 들어, prodDB 프로파일의 설정은 application-prodDB.yml
파일에, testDB 프로파일의 설정은 application-testDB.yml
파일에 저장하게 된다.
이렇게 application.yml 에 여러 test 용 profiles와 각 profiles의 설정을 위한 yml 파일이 준비가 되었다면
@ActiveProfiles
annotation 을 사용하여 우리가 원하는 설정정보들을 통해 테스트 환경을 구성할수 있게 된다.
@ActiveProfiles("test")
'Spring' 카테고리의 다른 글
Transactional을 통한 rollback시 AUTO_INCREMENT 초기화 문제 (0) | 2023.07.06 |
---|---|
@JdbcTest (0) | 2023.07.05 |
[Spring] @RequestBody, @ModelAttribute (0) | 2023.04.24 |
[SpringMVC] DTO 사용이유 (0) | 2023.04.09 |
[SpringMVC] addViewController사용할때 주의할점 (0) | 2023.04.09 |