테스트는 케이스 격리된 환경에서 실행하고, 끝나면 데이터를 초기화하는 것이좋음. 그런 면에서 메모리 DB를 사용하는 것이 가장 이상적
test 폴더 하위에 resources 폴더 만들고
application.yml 복사해서 붙여넣기
URL에 메모리모드로 동작하도록 시행
application.yml
spring:
datasource:
url: jdbc:h2:mem:testdb
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
동작시켜보면
h2 db연결을 하지 않았는데도 테스트가 되는걸 확인가능 .
스프링 부트에서는
이 설정 없어도 testdb로 돈다!
메모리모드로 테스트 하고 메모리모드로 실행하고 ~
스프링 부트는 datasource 설정이 없으면, 기본적을 메모리 DB를 사용하고, driver-class도 현재 등록된 라이브러리를 보고 찾아준다. 추가로 ddl-auto 도 create-drop 모드로 동작한다. 따라서 데이터소스나, JPA 관련된 별도의 추가 설정을 하지 않아도 됨