-
카테고리
-
세부 분야
백엔드
-
해결 여부
해결됨
ActiveProfiles("test")를 대체할 수 있는 다른 방법이 있을까요?
23.06.23 16:56 작성 23.06.23 16:57 수정 조회수 502
0
안녕하세요 선생님, 먼저 좋은 강의 감사드립니다.
로컬환경과 테스트 환경을 별도로 관리해주기 위해서, test 프로파일을 사용하는 것은 이해했습니다.
그런데, 이렇게 되면 모든 클래스에 ActiveProfiles
를 붙여줘야하니 다소 번거로울 것 같습니다.
제가 생각한 방법으로는 SpringBootTest
와 ActiveProfiles
를 묶는 어노테이션을 별도로 만들고, 만든 어노테이션을 이용해볼 것 같습니다.
혹시 ActiveProfiles
를 대체하기 위한 또 다른 방법은 어떤 것들이 있을까요?
좋은 강의 감사드립니다 :)
답변을 작성해보세요.
2
박우빈
지식공유자2023.06.24
안녕하세요, haero77님! :)
아마 Business Layer 테스트 강의를 듣고 남겨주신 질문 같은데, 좋은 질문이네요 👍
강의를 조금 더 진행하시면 뒤쪽에서 해당 관련 내용을 언급하고 있으니 참고해주시면 좋을 것 같습니다.
(테스트 환경 통합에 대한 이야기에요.)
감사합니다! :)
2
PENEKhun
2023.06.24
안녕하세요. 테스트 초짜 입니다.
선생님이 답변 하시기 전에 제 사례를 얘기 해드리고 싶어서 답변 남기게 되었어요. (정답이 아닐 수도 있습니다)
저 같은 경우에는...
local
테스트에 로컬 H2 DB를 사용test
테스트에 실제 DB환경과 똑같은 TEST DB 활용
이 두가지를 시도 할 수 있겠끔 테스트 프로파일을 분리해두었는데요
인텔리제이 Junit 실행 구성
-> vm 옵션
-> -Dspring.profiles.active= local
혹은 test
이런식으로 사용을 하고 있어요.
실제로 배포한 이후 실제 서버에서 테스트를 진행할때는...
./gradlew clean -Dspring.profiles.active=`test` build 이런식으로 하구 있구요.
이렇게 하면 haero77님이 말씀하신 별도의 ActiveProfiles
를 작성하지 않고, 실행시에 profile 인자값만 넘겨주면 되더라구요.
다음은 분리된 yml 파일 명 예시입니다.
저도 제가 답은 아닌 것 같은데...
선생님은 무슨 답변 주실지 궁금하고 기대가 됩니다.
답변 2