Spring Boot 테스트 - bootstrap.properties 재정의
스프링 부트 앱에서 bootstrap.properties를 사용하여 스프링 클라우드 구성 관련 속성을 구성하고 있습니다.
장치 테스트를 위해 구성 서버에 연결하지 않기 때문에 테스트 중에 이러한 속성을 무시하려고 합니다.그래서 우리는 메인에서 속성을 완전히 취소하는 방법을 찾고 있습니다.bootstrap.properties
선택적 특성을 재지정하거나 테스트를 위해 새 특성을 제공합니다.
생성을 시도했습니다.src/test/resources/bootstrap.properties
,src/test/resources/bootstrap-test.properties
와 함께spring.cloud.config.enabled=false
하지만 작동하지 않았습니다.
우리는 테스트 클래스를 시작하기 전에 아래와 같이 설정하려고 했습니다.
static {
System.setProperty("spring.cloud.config.enabled", "false");
}
효과가 없었어요
Spring Boot 설명서는 application.properties의 작동 방식에 대해 꽤 잘 알고 있지만, 다음에 대한 참조는 하나도 찾을 수 없었습니다.bootstrap.properties
.
모든 도움은 신뢰할 수 있는 방법으로 무시해 주시면 감사하겠습니다.bootstrap.properties
시험 중에
사용 중인 경우@SpringBootTest
주석에서 속성을 재정의할 수 있습니다.bootstrap.properties
다음을 포함합니다.
@SpringBootTest(properties = "spring.cloud.config.enabled=false")
그렇지 않으면 다음을 수행할 수 있습니다.
- 더하다
@ActiveProfiles('test')
당신의 시험 수업에 - 이름이 지정된 파일 만들기
bootstrap-test.properties
- 덮어쓸 속성을 추가합니다(예:
spring.cloud.config.enabled=false
업데이트: 모든 테스트에 대해 스프링 클라우드 구성을 사용하지 않도록 설정하려면 간단히bootstrap.properties
마음속에test/resources
다음 속성을 가진 폴더:
spring.cloud.config.enabled=false
(여기에 나의 질문을 추가합니다)
많은 시도와 오류 후 스프링 프로파일을 다음과 같이 설정함으로써 발견되었습니다.test
그것은 실제로 그것을 선택합니다.bootstrap-test.properties
그리고 그것을 메인과 결합합니다.bootstrap.properties
파일.
이 경우, 설정spring.cloud.config.enabled=false
메인 부트스트랩에 설정된 것처럼 여전히 부트스트랩을 시도하고 있었습니다.spring.cloud.config.server.bootstrap = true
그래서 우리는 이 속성을 거짓으로 설정해야 했습니다.bootstrap-test.properties
완전히 비활성화된 클라우드 서버로 이동합니다.
이것이 누군가에게 도움이 되기를 바랍니다.
수동 테스트를 위해 로컬 application.yml 및 bootstrap.yml 파일을 작업 디렉토리의 루트에 추가했습니다.application.yml에는 다음과 같은 단일 행이 포함됩니다.
spring.cloud.bootstrap.location: file:.
이 설정은 작업 디렉토리의 로컬 bootstrap.yml 파일을 활성화하고 클래스 경로의 파일을 비활성화합니다.이 아이디어는 스프링 부츠 2 #466에서 나왔습니다.
언급URL : https://stackoverflow.com/questions/41985262/spring-boot-test-overriding-bootstrap-properties
'source' 카테고리의 다른 글
도커 컴포지트를 사용하여 mongodb에 연결하는 방법은 무엇입니까? (0) | 2023.07.03 |
---|---|
분기를 로컬로 제거하는 방법은 무엇입니까? (0) | 2023.07.03 |
생성자가 @Autowired 작업을 어떻게 호출합니까? (0) | 2023.07.03 |
typescript 안에 있는 객체의 배열을 어떻게 선언합니까? (0) | 2023.07.03 |
Spring AppContext 없이 @ConfigurationProperties를 수동으로 로드할 수 있습니까? (0) | 2023.07.03 |