본문 바로가기
트러블슈팅

Spring Day 22 : MySQL 테스트 데이터 생성

by 우 석 2024. 2. 23.

문제

새로운 협업 프로젝트를 진행하게 되었다. 내게 할당된 역할 중 하나는 follow 기능을 구현이다.

 

follow 기능을 구현하기 위해서 유저의 회원가입, 인증, 인가, 그리고  follow 한 게시글을 모두 조회하기 위해 유저별 게시글 목록 등 다른 팀원이 맡은 업무가 선행되어야 내게 할당된 서비스를 완성시킬 수 있는 상황이다.( user, post, UserDetailsImpl  ... )

 

프로젝트 구현기능은 팀원별로 분할되어 있으며,  내가 구현한 기능을 테스트하기 위해서 팀원이 pull requests 올릴 때까지 기다리는 것은 시간낭비라고 생각했다.

 

해결방법

MySQL 쿼리를 통해 직접 테스트 데이터를 생성

 

IntelliJ에 MySQL을 연결하고 직접 쿼리를 만들었다.

User 정보가 필요했기에 user 테이블을 생성

CREATE TABLE users (
    id BIGINT AUTO_INCREMENT PRIMARY KEY,
    email VARCHAR(255) NOT NULL,
    username VARCHAR(255) NOT NULL,
    password VARCHAR(255) NOT NULL,
    introduce TEXT,
    UNIQUE (email)
);

 

Insert 문을 통해 user 정보를 넣어주었다.

INSERT INTO users (email, username, password, introduce)
VALUES ('user1@eamil.com', 'user1', 'password1', '안녕하세요, user1입니다.'),
       ('user2@eamil.com', 'user2', 'password2', '안녕하세요, user2입니다.'),
       ('user3@eamil.com', 'user3', 'password3', NULL);

 

 

결과

 

직접 쿼리를 작성하여 테스트 데이터를 생성할 수 있었고, 생성한 데이터를 활용하였다.

따라서 팀원의 기능이 구현될 때까지 기다리지 필요가 없이 내 코드를 실행 및 테스트할 수 있었다.

'트러블슈팅' 카테고리의 다른 글

동시성 제어  (0) 2024.05.08
스케쥴링  (0) 2024.04.25
배포전 로컬 테스트 중 데이터베이스 연결 문제  (0) 2024.04.19
RedisConfig의 복수의 CacheManager 문제  (0) 2024.04.15
.gitignore : 파일 숨기기  (2) 2024.01.31