SW/Spring Boot

Spring Boot : Spring Boot Starter Test 개념, 예제, 설명

얇은생각 2023. 3. 17. 07:30
반응형

Spring Boot : Spring Boot Starter Test 개념, 예제, 설명

 

 

spring-boot-starter-test는 테스트의 주요 종속성입니다. 여기에는 테스트에 필요한 대부분의 요소가 포함되어 있습니다.

애플리케이션의 상태를 테스트하고 자동화하는 데 도움이 되는 여러 가지 테스트 유형이 있습니다. 테스트를 시작하기 전에 테스트 프레임워크를 통합해야 합니다.

Spring Boot에서는 프로젝트에 스타터 추가가 필요하며, 테스트의 경우 Spring-boot-starter-test 종속성만 추가하면 됩니다.

<dependency>  
<groupId>org.springframework.boot</groupId>  
<artifactId>spring-boot-starter-test</artifactId>  
<version>2.2.2.RELEASE</version>  
<scope>test</scope>  
</dependency>

 

 

테스트와 관련된 모든 종속성을 가져옵니다. 추가 후, 우리는 간단한 단위 테스트를 구축할 수 있습니다. IDE를 통해 Spring Boot 프로젝트를 생성하거나 Spring Initializer를 사용하여 생성할 수 있습니다.

테스트 종속성을 수동으로 추가하는 경우 pom.xml 파일의 맨 아래에 추가합니다.

위의 종속성에서 한 가지 유의할 점은 테스트 <범위> 테스트 </범위>의 범위를 포함한다는 것입니다. , 애플리케이션이 배포용으로 번들되고 패키징되면 테스트 범위와 함께 선언된 종속성이 무시됩니다. 테스트 범위 종속성은 개발 및 메이븐 테스트 모드에서만 실행할 수 있습니다.

간단한 Spring Boot 애플리케이션을 생성하면 기본적으로 src/test/java 폴더의 pom.xml 파일과 ApplicationNameTest.java 파일에 테스트 종속성이 포함됩니다.

간단한 메이븐 프로젝트를 만들어 보겠습니다.

 

 

 

스프링 부트 스타터 테스트 예

1단계: 스프링 Initializr https://start.spring.io/을 엽니다.

2단계: 그룹 이름과 아티팩트 ID를 제공합니다. 그룹 이름 com.xxx Artifact spring-boot-test-example을 제공했습니다.

3단계: 스프링 웹 종속성을 추가합니다.

Spring Boot : Spring Boot Starter Test 개념, 예제, 설명 1

 

 

 

4단계: Generate 버튼을 클릭합니다. Generate 버튼을 클릭하면 프로젝트와 관련된 모든 사양을 래핑하고 Jar 파일을 로컬 시스템에 다운로드합니다.

5단계: 다운로드한 Jar 파일의 압축을 풉니다.

6단계: 폴더를 STS로 가져옵니다.

파일 -> 가져오기 -> 기존 메이븐 프로젝트 -> 찾아보기 -> spring-boot-test-example -> finish 폴더를 선택합니다.

프로젝트를 가져오면 STS의 패키지 탐색기 섹션에서 다음 프로젝트 디렉터리를 볼 수 있습니다.

Spring Boot : Spring Boot Starter Test 개념, 예제, 설명 2

 

 

위의 디렉토리에서 src/test/java 폴더에 SpringBootTestExampleApplicationTest.java라는 테스트 파일이 포함되어 있음을 알 수 있습니다.

package com.xxx.springboottestexample;

import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;

@SpringBootTest
class SpringBootTestExampleApplicationTests {

    @Test
    void contextLoads() {}
}

 

 

위의 코드는 기본적으로 두 개의 주석을 구현합니다: @SpringBootTest, 그리고 @Test입니다.

 

@SpringBootTest : 스프링 부트 기반 테스트를 실행하는 테스트 클래스에 적용됩니다. 일반 스프링 테스트 컨텍스트 프레임워크 위에 다음과 같은 기능을 제공합니다.

특정 @ContextConfiguration(loader=...)이 정의되지 않은 경우 SpringBootContextLoader를 기본 ContextLoader로 사용합니다.

중첩된 @Configuration이 사용되지 않고 명시적 클래스가 지정되지 않은 경우 자동으로 @SpringBootConfiguration을 검색합니다.

다양한 웹 환경 모드를 지원합니다.

웹 서버를 사용하는 웹 테스트에 사용할 TestRestTemplate 또는 WebTestClient 빈을 등록합니다.

args 속성을 사용하여 응용 프로그램 인수를 정의할 수 있습니다.

 

7단계: SpringBootTestExampleApplicationTest.java 파일을 열고 JunitTest로 실행합니다.

Spring Boot : Spring Boot Starter Test 개념, 예제, 설명 3

 

 

위 코드를 실행하면 다음과 같이 표시됩니다.

Spring Boot : Spring Boot Starter Test 개념, 예제, 설명 4

 

반응형