inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

스프링 db-2 테스트 관련

266

dydwo0740

작성한 질문수 3

0

spring db-2 강좌를 학습하다가 궁금한 점이 생겨서 질문드립니다.

테스트 진행시에 새로운 테스트에만 h2 할당하는 작업을 하는 대신 임베디드 테스트를 진행할때 schema.sql 을 활용해서 미리 테이블을 만드는 과정이 나옵니다. 그런데 그런 과정을 하지 않아도 자동으로 생성을 해주는 것인가요?? 전파 강의를 듣다가 그런 작업 없이도 test가 돌아가는 것을 보고 궁금해서 질문드립니다.

답변 1

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴이에요.

스프링 DB-2 강좌를 진행하면서 테스트에 대해 궁금증이 생겼다고 하셨습니다. 스프링 임베디드 테스트를 진행할 때 schema.sql을 활용해 미리 테이블을 만드는 과정이 나왔는데, 해당 과정을 하지 않아도 자동으로 생성되는지 궁금하다고 하셨습니다.

스프링 부트에서는 TestApplicationContext를 사용하여 테스트용 ApplicationContext를 만듭니다. 테스트를 위한 설정파일(application-test.yml)에 spring.datasource.initialization-mode: always 설정값을 추가하면 애플리케이션 기동 시점에 기본적으로 schema.sql 파악 후 테이블을 생성해줍니다. 따라서 별도의 작업 없이도 자동으로 생성될 수 있습니다.

하지만 실제 상용 환경에서는 초기 생성에 대한 대처가 필요하겠죠? 위와 같은 자동 처리는 개발용 테스트에만 권장됩니다.

내용이 도움이 되셨기를 바랍니다. 더 궁금하신 점 있으면 언제든 물어보세요.

volatile에 대해 질문 있습니다.

2

37

2

환경설정 문

2

30

2

맥유저 입장의 고려해주세요

2

93

1

실행과정 질문입니다.

2

37

1