본문 바로가기
Spring

단위테스트 실행 콘솔에서 실행된 MySQL 쿼리 보기

by 에드박 2020. 7. 22.

Spring Data JPA 를 단위 테스트할 때 기본 설정으로 하면 실행된 쿼리를 볼 수 없습니다.

 

실행된 쿼리도 보면서 테스트를 진행하고 싶습니다.

 

우선 resources 디렉토리 아래에 application.properties 파일을 생성합니다.

 

옵션은 다음과 같이 추가합니다.

 

spring.jpa.show_sql=true

그럼 다음과 같이 콘솔에서 쿼리 로그를 확인할 수 있습니다.

 

콘솔로그에 H2 쿼리로 실행됐습니다.

그런데 테이블을 만드는 쿼리문 create table posts (id bitint generated by default as identity, author varchar(255) 를 보시면

익숙한 MySQL 쿼리가 아닙니다. 이는 H2의 쿼리 문법이 적용되었기 때문입니다. 

 

H2는 MySQL의 쿼리를 수행해도 정상적으로 작동하기 때문에 이후 디버깅을 위해서 출력되는 쿼리 로그를 MySQL버전으로 변경해 보겠습니다. 다음 코드를 추가합니다.

 

spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL5InnoDBDialect

추가했다면 다시 테스트를 실행했을 때 콘솔 로그에서 MySQL 쿼리를 실행하는걸 확인할 수 있습니다.

콘솔 로그에 MySQL 쿼리로 실행된것을 확인할 수 있습니다.

 

댓글