본문 바로가기

Programming

@DataJpaTest 테스트케이스 실행 시 fail, hibernate dialect, AutoConfigureTestDatabase, jdbc sql syntax error

JPA 엔티티 클래스 구현 및 테스트케이스 작성 후 리뷰 받은 내용으로 아래 내용이 있었다.

 

@SpringBootTest 어노테이션을 쓰는 것은 테스트 범위가 넓음
@DataJpaTest 어노테이션으로 축소

 

그래서 그냥 @DataJpaTest 로 변경 했더니,

 

Caused by: org.h2.jdbc.JdbcSQLSyntaxErrorException: Syntax error in SQL statement

 

위의 에러가 나는데.. 보니까 properties 파일에서 dialect 를 mysql 로 설정한 것이 문법이 안맞는 것 같았음.

 

 

그래서 위 두줄을 주석처리하고 돌려보니 된다.

 

그래서 찾아보니, DataJpaTest 어노테이션 사용 시 AutoConfiguration 되는 것들 중에서, TestDatabase 사용을 None 으로 해주어야 properties 에서 사용하는 DB로 사용된다.

 

@AutoConfigureTestDatabase(replace = AutoConfigureTestDatabase.Replace.NONE)

 

 

리뷰 적용 변경 끝~