Spring

[Spring] 스프링 기본적인 백엔드 개발 예제 및 테스트 (기본적인 구조, 간단한 테스트 케이스 작성)

권락현 2022. 1. 17. 23:01

 


일반적인 웹 애플리케이션 계층 구조

  • 컨트롤러 : MVC에서 컨트롤러 역할
  • 서비스 : 핵심 로직, 알고리즘을 구현하는 곳
  • 리포지토리 : DB에 접근, 도메인 객체를 DB에 저장하고 관리
  • 도메인 : 비즈니스 도메인 객체, DB에 저장될 객체들, 회원이나 주문 등
컨트롤러 -> 서비스 -> 레포지토리 -> DB 순으로 접근
컨트롤러, 서비스, 레포지토리에서 도메인으로 접근 가능

 

 


 

생성한 예제 클래스들, 기본적인 구조

  • 컨트롤러, 리포지토리, 서비스, 도메인 객체 생성

 

 

테스트 코드 작성

 

  • 간단한 테스트 코드 작성
  • assertThat() 이용해서 비교

 

  • given, when, then으로 나누어서 작성해줄 수 있음

 

 

  • 테스트 코드를 여러 개 작성 시 @AfterEach의 콜백 함수를 써줘야 함

  • 테스트 코드들은 기본적으로 의존 관계없이 실행되어야 함, 순서가 없음
  • 그렇기에 하나의 테스트가 끝날 때마다 메모리를 클리어해야 함
  • 리포지토리 클래스에서 clear메소드를 생성해주고, 테스트 코드에 받아와서 실행
테스트 코드 하나 실행 -> @AfterEach 메소드 실행(메모리를 클리어해 줌)
===> 이 과정을 테스트 코드를 모두 돌릴 때까지 실행

 

 

 


이곳에 작성한 내용은 인프런에서 서비스하는 강의 중 김영한님의 스프링 강의를 정리하고 저의 언어로 기억하고 싶은 것을 정리한 내용입니다. 아래에 출처를 남겨두겠습니다.

 

https://www.inflearn.com/roadmaps/373

 

[초급~중급] 우아한형제들 기술이사 김영한의 스프링 완전 정복 - 인프런 | 로드맵

대세를 따르세요! 자바 스프링 베스트셀러 우형 최연소 기술이사에게 배우는 스프링 완전 정복 🚩 [사진] 오픈 3개월 만에 수강생 7000+명의 극찬 릴레이 ✨원리와 실무를 한방에, 김영한의 스프

www.inflearn.com