>Java >java지도 시간 >SpringBoot가 구성 속성 및 웹 시작 환경을 테스트하는 방법

SpringBoot가 구성 속성 및 웹 시작 환경을 테스트하는 방법

PHPz
PHPz앞으로
2023-05-19 17:20:16828검색

테스트별 속성 로드

@SpringBootTest 소스 코드를 보려면 클릭하세요

SpringBoot가 구성 속성 및 웹 시작 환경을 테스트하는 방법

나중에 임시 구성을 추가하거나 명령줄 args 매개변수 설정을 사용할 수 있습니다. 설정된 테스트별 매개변수는 구성 파일의 매개변수보다 우선 적용됩니다.

package com;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.test.context.SpringBootTest;
@SpringBootTest(args = {properties = {"test.properties=1234"})
public class TestProperties {
    @Value("${test.properties}")
    private String ps;
    @Test
    public void test(){
        System.out.println(ps);
    }
}

실행 결과

SpringBoot가 구성 속성 및 웹 시작 환경을 테스트하는 방법

명령줄 매개변수를 사용할 수도 있습니다

args = {"--test.properties=4321"},

명령줄 매개변수의 우선순위는 구성 파일의 우선순위보다 높습니다. 그래서 둘 다 공존할 때는 명령줄이 메인입니다

@SpringBootTest(args = {"--test.properties=4321"},properties = {"test.properties=1234"})

SpringBoot가 구성 속성 및 웹 시작 환경을 테스트하는 방법

이 테스트 클래스에서 설정한 속성은 현재 테스트에만 유효하고 영향이 거의 없습니다

테스트에 외부 Bean을 사용하세요

package com.config;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration//说明当前为配置类
public class TestBean {
    @Bean//创建bean
    public String mess(){
        return "this bean run ";
    }
}

테스트 중 클래스에서 @Import 주석을 사용하여 현재 테스트 구성을 로드합니다

package com.test;
import com.config.TestBean;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.context.annotation.Import;
@SpringBootTest
@Import({TestBean.class})
public class TestBeanNow {
    @Autowired//注入bean对象
    public String mess;
    @Test
    public void test(){
        System.out.println(mess);
    }
}

Run results

SpringBoot가 구성 속성 및 웹 시작 환경을 테스트하는 방법

Speed ​​​​테스트 클래스가 웹 환경을 시작합니다

아래와 같이 테스트 클래스에서 실행하면 일반적으로 서버가 시작되지 않습니다. 그들은 모두 작업의 성공 또는 실패에 대한 정보를 표시합니다

SpringBoot가 구성 속성 및 웹 시작 환경을 테스트하는 방법

Ctrl+b를 클릭하면 @SpringBootTest 소스 코드가 있습니다. 웹

SpringBoot가 구성 속성 및 웹 시작 환경을 테스트하는 방법

기본값은 MOCK입니다. 기본적으로 시뮬레이션된 웹 환경에서는 임베디드 서버가 시작되지 않습니다

우리는 테스트 클래스에 있습니다

SpringBoot가 구성 속성 및 웹 시작 환경을 테스트하는 방법

첫 번째 것은 구성 파일에 지정된 포트로 시작됩니다. 그렇지 않으면 기본적으로 8080으로 시작됩니다.

두 번째 모의: 기본적으로 제공 시뮬레이션된 웹 환경에서는 임베디드 서버가 시작되지 않습니다

세 번째는 서버를 시작하지 않는 것입니다

네 번째는 임의 포트 시작입니다

임의 포트 시작을 테스트합니다

package com;
import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
public class WebTest {
    @Test
    public void test(){
    }
}

실행 결과

포트를 보려면 두 번 실행하세요. 결과는 모두 무작위입니다

SpringBoot가 구성 속성 및 웹 시작 환경을 테스트하는 방법

위 내용은 SpringBoot가 구성 속성 및 웹 시작 환경을 테스트하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 yisu.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제