spring boot .yml 파일 만으로 test 분리

spring boot에서 Test 환경을 격리하는 방법을 지원을 해주고 있다는 것을 알게 되었다. spring boot의 기본 패키지 구조는 처음에 프로젝트를 생성 하면 아래와 같이 src 밑에 main, test 를 둔다. main 밑에는 java 와 resources 는 기본적으로 있다. 하지만 test 밑에서는 resources 가 없다. 강의를 들으면서 생성했다. 보통 Test code 를 작성하면 test/java/ 밑에서 작성한다. 물론 테스트의 범위 마다 다르겠지만, 그리고 Test code 를 돌리면 main/ 하위 환경 즉 개발환경을 가져다가 사용한다. 하지만 아래의 사진과 같이 test/resources/application.yml 이 있을 경우에는, 우선권이 test 패키지 밑에 .yml 파일에 있기 때문에 test 아래의 .yml 환경으로 테스트를 진행할 수 있다. JPA 기능 테스트를 혹은 서비스 레이어의 테스트를 진행 할 때 DB connection 이 필요하다. 실제로 테스트의 경우 @Transactional 이 있는 경우 테스트 코드가 끝나면 롤백이 default 이다. 하지만 @Rollback(false)를 통해서 DB에 실제로 값이 반영 되는지는 확인을 할 수 있다. 그러나 Test 의 목적은 개발한 코드의 정상 작동이지, DB에 실제 반영이 되는 것을 눈으로 확인하는 것이 주된 목적이 아니다. 따라서 spring boot 를 사용하게 되면, h2 DB 의 인메모리 모드를 사용하게 되면 정말 편리하다. h2 DB는 spring boot 에서 DataSource 설정을 따로 필요 없이 test/ 밑에 .yml 파일의 존재 만으로도, 인메모리 모드를 사용 할 수 있다. 아래에서 확인 할 수 있듯이 .yml 파일만 있다. dependencies 에서 h2 디비를 확인 할 수 있다. 아래는 테스트 코드를 실행 했을 때의 로그이...