본문 바로가기
Study/Spring

[Spring | test | H2] test에서 H2 DB 연결하기

by M개발자 2022. 2. 12.
반응형

✔ Java 11

✔ Gradle 7

✔ Spring boot 2.6.3

 

test code에서 더미 데이터를 사용하기 위해 h2 db를 연결하게 되었다.

1. application.yml 추가

test > resources > application.yml

spring:
  datasource:
    url: jdbc:h2:mem:testdb
    driverClassName: org.h2.Driver
    username: sa
    password:
  h2:
    console:
      enabled: true
  profiles:
    active: local
  jpa:
    database-platform: org.hibernate.dialect.H2Dialect
    database: h2
    hibernate:
      ddl-auto: update
    open-in-view: false
  sql:
    init:
      mode: always
      data-locations: classpath:data.sql # 더미데이터 파일 연결
      schema-locations: classpath:table.sql # 스케마 파일 연결

2. 더미데이터 파일 추가

더미 데이터를 사용하기 위해 data.sql과 table.sql 파일을 생성하여 데이터를 넣어 주었다.

test > resources > table.sql

CREATE TABLE user
(
    id            INT AUTO_INCREMENT PRIMARY KEY,
    user_id       VARCHAR(30) NOT NULL UNIQUE,
    user_name     VARCHAR(10) NOT NULL,
    user_password VARCHAR(30) NOT NULL
);

test > resources > data.sql

INSERT INTO user values(1, 'id001', '001', 'password');
INSERT INTO user values(2, 'id002', '002', 'password');

sql 파일을 생성하면서 주의해야 할 점

  • table 이름이 엔티티에서 생성한 이름과 일치하는지
  • 데이터를 넣을 때 큰따옴표(”)가 아닌 작은따옴표(’)로 작성했는지

내가 실행하면서 발생했던 오류는 이 두 가지이다.

 

테스트 코드를 돌렸을 때 h2 디비가 성공적으로 연결된 걸 확인할 수 있다. 


회의록

반응형

댓글