테스트 환경 분리 - application.yml

테스트 환경 중에서도 DB를 분리해서 사용하였다.

그러다보니 application.yml 파일을 test용으로 분리해야 했다.

 

분리하는 방법

기존 파일을 복사해 테스트 용으로 설정을 바꿨다.

test 폴더 아래에 resources 폴더를 만든다.

그 아래에 application.yml 파일을 옮기면 test 클래스는 이 파일로 인식하게 된다.

 

변경할 것

spring:
  config.activate.on-profile: default
  application:
    name: GameBlog
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    password: ${MYSQL_PASSWORD}
    url: jdbc:mysql://127.0.0.1:3307/blog_test
    username: ${MYSQL_USER}

test용 DB를 사용할 것이기 때문에 url을 변경하였다.

우선 DB 이름을 바꿨고, 원래 사용하던 3306 포트 대신 3307 포트를 사용하였다.

properties 파일을 쓰더라도 똑같이 수정해주면 된다.

 

테스트 환경 분리 - docker

version: "3.8"
services:
  db:
    image: mysql:8.0.28
    platform: linux/x86_64
    restart: always
    ports:
      - "3306:3306"
    environment:
      MYSQL_ROOT_PASSWORD: 루트 패스워드
      MYSQL_DATABASE: blog
      MYSQL_USER: user
      MYSQL_PASSWORD: 패스워드
      TZ: Asia/Seoul

  db-test:
    image: mysql:8.0.28
    platform: linux/x86_64
    restart: always
    ports:
      - "3307:3306"
    environment:
      MYSQL_ROOT_PASSWORD: 루트 패스워드
      MYSQL_DATABASE: blog_test
      MYSQL_USER: user
      MYSQL_PASSWORD: 패스워드
      TZ: Asia/Seoul

docker-compose.yml 파일도 수정했다.

여기서도 test DB의 포트 번호를 바꾸고 DB명도 바꿨다.

docker-compose up -d

그리고 다시 위 명령어로 컨테이너를 올린다.

 

그러면 이렇게 두 개의 db가 올라가게 된다.

'Spring' 카테고리의 다른 글

[Spring] JPA 심화 강의 정리  (1) 2024.06.26
[Spring] 🙉Fixture Monkey🙉  (1) 2024.06.15
[Spring] AOP란 무엇일까? (+Spring AOP)  (0) 2024.06.12
[Spring] JUnit 5 단위 테스트  (0) 2024.06.11
[Spring] Naver, Google 로그인 (OAuth2)  (0) 2024.06.10

+ Recent posts