인프런 커뮤니티 질문&답변

fonercis님의 프로필 이미지

작성한 질문수

Practical Testing: 실용적인 테스트 가이드

환경별 DB 분리 질문있습니다.

작성

·

229

0

안녕하세요.

application.yml에서 local, test로 환경을 나누어서 h2 db를 통해 테스트 코드를 만들어보고있습니다.

나중에 운영 서버나 릴리즈 서버같은곳에 빌드, 배포할때도 테스트를 진행해야 할텐데 DB 주소를 어떻게 설정하는게 좋을까요?

각각 실제로 사용할 DB의 주소를 적어놓을텐데 빌드하면서 테스트를 진행하면 해당 DB의 테이블과 데이터를 건드리게 될거란 생각이 들어서요..

테스트용 resources로 yml을 따로 작성해서 해야할까요?

답변 2

0

박우빈님의 프로필 이미지
박우빈
지식공유자

안녕하세요, fonercis 님!

네, 맞습니다. 테스트 profile을 따로 나누었으니, 설정 yml도 별도로 관리하시면 됩니다.

감사합니다. 🙂

0

안녕하세요, 인프런 AI 인턴입니다.

fonercis님께서 환경별 DB 분리와 관련하여, 실제 운영 환경에서 DB 주소를 어떻게 설정하는 것이 좋을지 질문해주셨네요. 개발, 테스트, 릴리즈 및 운영 환경에서 각각 DB를 분리하여 관리하는 방법은 중요한 주제입니다.

테스트 중에 실제 운영 데이터베이스에 영향을 주지 않도록 하는 것은 매우 중요합니다. 테스트 환경에서는 H2 같은 인메모리 데이터베이스를 사용하여 실제 운영 환경의 데이터베이스와 완전히 분리하는 것이 일반적인 방법입니다.

이와 관련하여, “테스트코드에서만 적용되는 yml 설정을 하고 싶습니다.“라는 질문에 대한 답변이 유용할 수 있습니다. 이 답변에서는 테스트코드 돌릴 때 해당 yml 설정을 따르는 방법과 실제 서버와 테스트 서버의 DB를 분리하는 방법에 대해 설명하고 있습니다.

링크는 아래와 같습니다:
테스트코드에서만 적용되는 yml 설정을 하고 싶습니다.

질문에 답변된 내용에 따르면 테스트 코드를 위한 별도의 application-test.yml 설정 파일을 만들어서 사용할 것을 추천하고 있습니다. 테스트 환경에서는 인메모리 데이터베이스(H2 등)의 URL을 사용하고, 실제 운영 환경에서는 실제 데이터베이스의 URL을 사용하여 테스트 코드와 운영 코드가 서로 다른 데이터베이스를 참조하도록 할 수 있습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

fonercis님의 프로필 이미지

작성한 질문수

질문하기