본문 바로가기

개발일지/spring

SpringBoot 스프링부트 프로파일 설정하기/ Junit 테스트 시 스프링 프로파일

스프링 사용하다보면 당연히 서버별로 다르게 configuration을 설정해야한다.

로컬/개발/스테이징/운영을 다르게 해야한다.

조건1: 로컬/개발/운영 환경으로 개발

조건2: DB환경설정을 다르게 한다.

 

 

application-local.yml

application-dev.yml

application-prod.yml

 

파일을 생성한다.

 

spring:
  config:
    activate:
      on-profile: dev

 

해당 프로파일에 맞게  dev, local, prod를 입력한다.

 

 

 

인텔리제이에서 옵션수정을 클릭한 다음에 프로그램 인수를 선택한다.

 

--spring.profiles.active=local 을 입력하고 적용

--spring.profiles.active=local 을 입력하고 적용

 

 

 

 

그럼 테스트 코드 실행시에는 어떻게 구분하는가.

 

이것을 설정하지 않고 테스트 코드를 실행하면 에러가 발생한다. 

 

 

@SpringBootTest
@ActiveProfiles(profiles="local")
class JobsAdminApplicationTests {

 

테스트를 실행해보니 local 이라는 것을 알려준다.