Anything

Spring 로그인 수동 테스트시 회원가입 반복 작업 최소화

씬프 2021. 7. 6. 12:03
반응형

Spring boot 프로젝트에서 로그인 기능을 구현할 때,

H2와 같은 메모리 DB를 사용할 경우 특성상 서버가 종료되고 다시 실행되면 DB 내에 회원 정보가 초기화된다.

이 때, 서버를 종료하고 다시 수동 테스트를 할 때마다 회원가입을 통해 DB에 회원정보를 넣는 것을 반복해야하는 문제가 발생한다.

 

Spring boot 공식 문서를 확인해보면,

Initialize a Database Using Hibernate라는 부분이 있다.

 

문서 하위에, 

In addition, a file named import.sql in the root of the classpath is executed on startup

if Hibernate creates the schema from scratch.

 

클래스패스의 루트 위치 (src/main/java 혹은 src/main/resource)에 import.sql 파일은

Hibernate가 처음부터 스키마를 생성하는 경우 실행된다고 한다.

 

이를 이용해 import.sql 파일에

INSERT INTO USER (USER_ID, PASSWORD, NAME, EMAIL) VALUES ("java", "java", "java", "java@java.com");
INSERT INTO USER (USER_ID, PASSWORD, NAME, EMAIL) VALUES ("admin", "admin", "admin", "admin@java.com");

위와 같은 SQL INSERT 문을 작성하면 서버 시작 시 import.sql이 실행되면서

DB에 데이터가 추가된다.

 

 

단, Intellij를 사용할 경우 Community 버전에서는 .sql 확장자를 가진 파일에 대해서 지원하지 않는다.