공부/Spring

[Profile] test Profile

aalvvd 2021. 9. 23. 17:56

"test" 프로파일은 테스트를 위한 환경설정을 따로 필요할 때 사용할 수 있다.

ActiveProfiles("test")

  • 단위 테스트 코드에 활용
  • 사용 시, src/main/resources/appication-test.properties를 찾는 대신 src/test/resources/application.properties를 찾는다.
  • 데이터 소스 설정으로 test 프로파일 환경에서는 성능 향상을 위해 H2를 활용한다. (H2에 대한 의존성 scope설정이 test이다.)

활성 프로파일을 "test"로 설정하는 방법

  • @Profile 어노테이션으로 활성 프로파일 설정
    @Profile("test")
  • Environment.setActiveProfiles()로 활성 프로파일 설정
    @Autowired
    private Environment env;
    ...
    env.setActiveProfiles("test");
  • JVM 매개변수로 활성 프로파일 설정
    java -jar -Dspring.profiles.active=test app.jar
  • 환경변수로 활성 프로파일 설정하기
    export spring_profiles_active=test

@ActiveProfiles 어노테이션을 사용하지 않고 메소드를 사용해 "test"로 설정한다면 스프링은 src/main/resources/application-test.properties 를 찾는다.