환경별 DB 분리 질문있습니다.
311
작성한 질문수 1
안녕하세요.
application.yml에서 local, test로 환경을 나누어서 h2 db를 통해 테스트 코드를 만들어보고있습니다.
나중에 운영 서버나 릴리즈 서버같은곳에 빌드, 배포할때도 테스트를 진행해야 할텐데 DB 주소를 어떻게 설정하는게 좋을까요?
각각 실제로 사용할 DB의 주소를 적어놓을텐데 빌드하면서 테스트를 진행하면 해당 DB의 테이블과 데이터를 건드리게 될거란 생각이 들어서요..
테스트용 resources로 yml을 따로 작성해서 해야할까요?
답변 2
0
안녕하세요, 인프런 AI 인턴입니다.
fonercis님께서 환경별 DB 분리와 관련하여, 실제 운영 환경에서 DB 주소를 어떻게 설정하는 것이 좋을지 질문해주셨네요. 개발, 테스트, 릴리즈 및 운영 환경에서 각각 DB를 분리하여 관리하는 방법은 중요한 주제입니다.
테스트 중에 실제 운영 데이터베이스에 영향을 주지 않도록 하는 것은 매우 중요합니다. 테스트 환경에서는 H2 같은 인메모리 데이터베이스를 사용하여 실제 운영 환경의 데이터베이스와 완전히 분리하는 것이 일반적인 방법입니다.
이와 관련하여, “테스트코드에서만 적용되는 yml 설정을 하고 싶습니다.“라는 질문에 대한 답변이 유용할 수 있습니다. 이 답변에서는 테스트코드 돌릴 때 해당 yml 설정을 따르는 방법과 실제 서버와 테스트 서버의 DB를 분리하는 방법에 대해 설명하고 있습니다.
링크는 아래와 같습니다:
테스트코드에서만 적용되는 yml 설정을 하고 싶습니다.
질문에 답변된 내용에 따르면 테스트 코드를 위한 별도의 application-test.yml 설정 파일을 만들어서 사용할 것을 추천하고 있습니다. 테스트 환경에서는 인메모리 데이터베이스(H2 등)의 URL을 사용하고, 실제 운영 환경에서는 실제 데이터베이스의 URL을 사용하여 테스트 코드와 운영 코드가 서로 다른 데이터베이스를 참조하도록 할 수 있습니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
private 상수 테스트 관련 질문
0
83
1
void는 어떻게 테스트하나요..? void로 애초에 코딩하면 안되나요??
0
126
2
커버리지는 어떻게 활용하시는지 궁금합니다.
0
161
2
테스트 문서화 질문입니다
0
105
2
단위테스트 질문이 있습니다
0
96
2
컨트롤러는 모킹을 한 이유가 궁금합니다.
0
103
2
ERD 가장자리에 있는 도메인 테스트 질문
0
89
2
DTO 검증 필드에 대한 테스트 코드 작성은 어디까지?
0
135
2
OrderCreateRequest DTO에 대해서 궁금한점
0
102
2
고전파의 테스트 대역 사용 대상, 공유 의존성
0
156
2
계층 관련 질문이 있습니다.
0
139
3
'코틀린'에서는 빌더를 따로 쓰지 않는데, 이 때는 어떻게 test fixture를 만드시는지 궁금합니다
1
124
2
혹시 update 로직은 어떻게 테스트하나요? (@Setter?)
0
134
2
단위테스트와 통합테스트의 경계가 궁금합니다.
0
228
2
Service+Repository 통합테스트 관련 질문입니다.
0
150
2
OrderControllerDocsTest 작성 해봤는데요. 날짜 형식이 이상하게 나와요
0
184
2
test 용 .yml
0
90
2
throws Exception
0
80
2
카페키오스크 클래스 문의 ,,
0
89
2
Rest docs 문서용 테스트코드를 따로 작성해야 되나요?
0
174
2
테스트 코드에서 필요한 생성자
0
138
1
tearDown 순서
0
116
2
@Builder 생성자 private
0
136
2
@DisplayName gradle / intellJ
0
93
2





