본문 바로가기
Backend/Spring

[Spring Boot + JPA ②] 테스트 코드 작성, h2 설정 (스프링부트 입문 / Spring Data JPA / 스프링부트 기초 / CRUD 실습 / 인텔리제이)

by 비전공자 기록광 2021. 8. 18.
반응형

2021.08.18 - [IT 독학/WEB] - [Spring Boot + JPA ①] 기본 게시판 실습 (스프링부트 입문 / Spring Data JPA / 스프링부트 기초 / CRUD 실습 / 인텔리제이)

 

 

앞서 글쓰기 C기능에 대한 코드를 작성했다.

 

이 기능이 잘 동작하는지 보려면

view를 만들어야 하는데... 귀찮다.

 

이를 만들지 않고 확인하는 방법

이 있다.

 

바로 테스트 코드다.

 

테스트 코드를 작성할 때 사용하는 라이브러리로 대표적인 게 Junit이 있다.

 

인텔리제이에서는 현재 junit5가 지원되니 따로 라이브러리를 추가할 필요는 없지만

나는 실습을 할때 

 

https://book.naver.com/bookdb/book_detail.nhn?bid=15871738

 

스프링 부트와 AWS로 혼자 구현하는 웹 서비스

가장 빠르고 쉽게 웹 서비스의 모든 과정을 경험한다.경험이 실력이 되는 순간!이 책은 제목 그대로 스프링 부트와 AWS로 웹 서비스를 구현합니다. JPA와 JUNIT 테스트, 그레이들, 머스테치, 스프링

book.naver.com

 

https://inf.run/xWH3

 

실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발 - 인프런 | 강의

실무에 가까운 예제로, 스프링 부트와 JPA를 활용해서 웹 애플리케이션을 설계하고 개발합니다. 이 과정을 통해 스프링 부트와 JPA를 실무에서 어떻게 활용해야 하는지 이해할 수 있습니다., 본

www.inflearn.com

 

이 두개를  참고해 공부했고, 거기선 Junit4를 사용했기에 따로 추가했다.

 

테스트 코드를 작성하기 위해선 미리 DB 연결을 해야한다.

나는 h2를 사용하기로 했고 자세한 내용은 밑에서 참고하시길...

 

[Spring Boot ③] 회원 기능 실습 - DB 설정 JPA (스프링부트 입문 / JPA / H2 / 스프링부트 기초 / CRUD 실습 / 인텔리제이) (tistory.com)

 

중요한건 ddl-auto를 맨처음 create를 해줘야 서버실행시 내가 만든 도메인대로 테이블이 생성될 것이다.

 

 

여기서 실행해주고 h2로 들어가보면 테이블이 잘 생성된 걸 볼 수 있다.

 

 

(member 테이블은 저번에 했던 실습의 내용이니 무시해주세요)

 

 

7. 테스트 코드 

7-1. Junit4 추가

 

7-2. PostsRepositoryTest 생성

 

 

domain > posts > PostsRepositoryTest

 

 

기본적인 테스트의 구조는 given / when / then 이다

 

게시글을 등록하고, 잘 등록됐는지 보기 위해 불러와 비교하는 것이 이 테스트의 목적이다. 

 

given에서 게시글을 등록하고, 

when에서 게시글이 등록됐는지 불러오고

then에서 등록한 게시글 내용과 불러온 등록된 게시글의 내용을 비교해본다.

 

실행은 을 누르면 된다.

 

 

테스트 성공이 뜨면 내가 만든 글 작성 save 기능이 잘 동작하는 걸로 생각하면 된다.

 

 

테스트 코드를 통해 굳이 view를 만들지 않아도 눈으로 확인하지 않아도 된다.

 

프로젝트에서 프론트단, 백단이 나눠질 경우

프론트가 다 될때까지 백이 기다릴 필요가 없다.

 

또 기능에 문제가 있다면 개발 초기에 발견할 수 있는 것이다.

 

아주 획기적이다...

 

 

그래도 눈으로 보고 싶으니 화면도 만들어보겠다.

화면은 다음 편에서 계속..

반응형

댓글