Spring

[Spring]test폴더에 yml파일을 따로 두면 좋은 이유

퉁그리 2021. 11. 10. 19:38

초기 프로젝트 설정은 test폴더에 resource폴더와 yml파일이 없다.

 

그래서 resource폴더와 yml파일을 복사해서 만들어줘야하는데,

 

이렇게 귀찮은 일을 하는데에는 이유가 있다.

 

yml파일을 복사한 후

 

#spring:
#  datasource:
#    url: jdbc:h2:tcp://localhost/~/jpashop
#    username: sa
#    password:
#    driver-class-name: org.h2.Driver
#
#  jpa:
#    hibernate:
#      ddl-auto: create
#    properties:
#      hibernate:
##        show_sql : true
#        format_sql: true
        
logging:
  level:
    org.hibernate.SQL: debug
    org.hibernate.type: trace

 

이런식으로 데이터베이스에 대한 세팅을 전부 지워도 스프링부트에서는 메모리 DB가 지원이 되기 때문에 테스트가 정상적으로 돌아간다.

 

테스트 케이스를 위한 설정 테스트는 케이스 격리된 환경에서 실행하고, 끝나면 데이터를 초기화하는 것이 좋다. 그런 면에서 메모리 DB를 사용하는 것이 가장 이상적이다. 추가로 테스트 케이스를 위한 스프링 환경과, 일반적으로 애플리케이션을 실행하는 환경은 보통 다르므로 설정 파일을 다르게 사용하자.

 

출처 : 스프링 핵심 원리 - 기본편 - 인프런 | 학습 페이지 (inflearn.com)