해결된 질문
작성
·
625
·
수정됨
0
안녕하세요 선생님, 먼저 좋은 강의 감사드립니다.
로컬환경과 테스트 환경을 별도로 관리해주기 위해서, test 프로파일을 사용하는 것은 이해했습니다.
그런데, 이렇게 되면 모든 클래스에 ActiveProfiles
를 붙여줘야하니 다소 번거로울 것 같습니다.
제가 생각한 방법으로는 SpringBootTest
와 ActiveProfiles
를 묶는 어노테이션을 별도로 만들고, 만든 어노테이션을 이용해볼 것 같습니다.
혹시 ActiveProfiles
를 대체하기 위한 또 다른 방법은 어떤 것들이 있을까요?
좋은 강의 감사드립니다 :)
답변 2
2
안녕하세요, haero77님! :)
아마 Business Layer 테스트 강의를 듣고 남겨주신 질문 같은데, 좋은 질문이네요 👍
강의를 조금 더 진행하시면 뒤쪽에서 해당 관련 내용을 언급하고 있으니 참고해주시면 좋을 것 같습니다.
(테스트 환경 통합에 대한 이야기에요.)
감사합니다! :)
2
안녕하세요. 테스트 초짜 입니다.
선생님이 답변 하시기 전에 제 사례를 얘기 해드리고 싶어서 답변 남기게 되었어요. (정답이 아닐 수도 있습니다)
저 같은 경우에는...
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 파일 명 예시입니다.
저도 제가 답은 아닌 것 같은데...
선생님은 무슨 답변 주실지 궁금하고 기대가 됩니다.
먼저 답변 남겨주셔서 감사합니다 ㅎㅎ
알려주신 방법도 좋은 방법 중 하나네요 👍