코딩공작소

Springboot3 실습 (1) - 개발환경 및 테스트 환경 세팅 본문

어플리케이션개발/springboot실습

Springboot3 실습 (1) - 개발환경 및 테스트 환경 세팅

안잡아모찌 2024. 3. 14. 21:19

처음에는 그레이들을 세팅해주고 새로고침을 해서 의존성들을 받아와준다.

 

 

그리고는 첫 시작이 되는 자바 애플리케이션을 만든다.

 

이렇게 기초 세팅 완료!

 

 


스프링 부트 스타터

  • spring-boot-starter-web : Spring MVC를 사용해서 RESTful 웹 서비스를 개발할 때 필요한 의존성 모음
  • spring-boot-starter-test : 스프링 애플리케이션을 테스트하기 위해 필요한 의존성 모음
  • spring-boot-starter-validation : 유효성 검사를 위해 필요한 의존성 모음
  • spring-boot-starter-actuator : 모니터링을 위해 애플리케이션에서 제공하는 다양한 정보를 제공하기 쉽게 하는 의존성 모음
  • spring-boot-starter-data-jpa : ORM을 사용하기 위한 인터페이스의 모음인 JPA를 더 쉽게 사용하기 위한 의존성 모음

 

 

@SpringBootApplication

1. @SpringBootConfiguration : 스프링 부트 관련 설정을 나타내는 애너테이션

2. @ComponentScan : 사용자가 등록한 빈을 읽고 등록하는 애너테이션

3. @EnableAutoConfiguration : 자동 구성을 활성화하는 애너테이션

 

 

build.gradle 의존성 추가하기

스프링 데이터 JPA, 인메모리 디비, 롬복 사용 의존성을 추가하였다.

 

MVC단은 쉬운 부분이니까 설명은 생략하고,

 

 

application.yml 설정 파일에 sql 파일을 설정을 등록하면 사용할 수 있다.

 

 

그리고 애플리케이션을 실행해주고 포스트맨을 실행해주면!

당연하게도 리포지토리 단에서 설계한 멤버들을 전부 조회한다.

 

  • 프레젠테이션 계층 : HTTP 요청을 받고 비즈니스 계층으로 전송
  • 비즈니스 계층 : 모든 비즈니스 로직 처리
  • 퍼시스턴스 계층 : 모든 스토리지 관련 로직 처리

 

 


스프링 부트3의 테스트 코드

기본적으로 given - when - then 절을 많이 사용한다.

그리고, JUnit, AssertJ를 가장 많이 사용한다.

 

  • @DisplayName : 테스트 이름 명시
  • @Test : 테스트를 수행하는 메서드

설정 후 테스트 실행 시, 성공 실패여부 확인 가능

 

@BeforeAll 전체 테스트 시작 전 1회 실행 / 메서드는 static 선언 / 클래스 단위
@BeforeEach 테스트 케이스 시작 전마다 실행 / 함수 단위
@AfterAll 전체 테스트 끝나면 1회 실행 / 메서드는 static 선언 / 클래스 단위
@AfterEach 테스트 케이스 끝마다 실행 / 함수 단위
AssertJ는 JUnit와 함께 검증문의 가독성을 높여주는 라이브러리
테스트에 쓰이는 여러 검증함수들을 제공한다.

 

 

 

컨트롤러에서 테스트 클래스를 생성할 수 있다.

 

 

 

테스트 클래스에서 필요한 기본 구성들을 세팅해준다.

  • @SpringBootTest : 테스트용 애플리케이션 컨텍스트라는 것을 만든다
  • @AutoConfigureMockMvc : MockMvc를 생성하고 자동으로 구성한다. 애플리케이션을 서버에 배포하지 않고도 테스트용 MVC환경을 만들어 요청 및 전송, 응답 기능을 제공하는 유틸리티 클래스.

 

 

 

/test API 를 테스트하는 코드를 작성한다.

  • perform() : 요청을 전송하는 역할을 하는 메서드
  • accept() : 무슨 타입으로 응답을 받을지 결정하는 메서드
  • andExpect() : 응답 검증
  • jsonPath : 응답값의 값을 가져오는 메서드