참고 : 인프런 [ 실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발 - 김영한 ]
테스트는 케이스 격리된 환경에서 실행하고, 끝나면 데이터를 초기화하는 것이 좋다. 그런 면에서 메모리 DB를 사용하 는 것이 가장 이상적이다.
-> 데이터베이스를 따로 설치하지 않아도 테스트가 가능하다
-> 테스트를 완전히 격리된 환경에서 실행 가능하다.
application.yml을 테스트 리소스에도 복사한다. (테스트는 복사한 appication.yml을 우선으로 적용)
url: jdbc:h2:mem:testdb로 변경해준다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
open-in-view: false
logging.level:
org.hibernate.SQL: debug
# org.hibernate.type: trace
ddl-auto 도 create-drop 모드로 동작한다. 따라서 데이터소스나, JPA 관련된 별도의 추가 설정을 하지 않아도 된다.기존에 사용하던 h2를 내린 후 테스트 코드를 실행해도 정상적으로 작동된다 !