Loading...
Spring Framework Reference Documentation 7.0.2의 @DynamicPropertySource의 한국어 번역본입니다.
아래의 경우에 피드백에서 신고해주신다면 반영하겠습니다.
감사합니다 :)
@DynamicPropertySource@DynamicPropertySource는 통합 테스트 클래스에서 ApplicationContext를 위해
load된 통합 테스트의 Environment 안에 있는 PropertySources set에 추가될
동적 프로퍼티를 register해야 하는 메서드에 적용할 수 있는 어노테이션입니다.
동적 프로퍼티는 프로퍼티의 값을 미리 알 수 없을 때 유용합니다.
예를 들어, 프로퍼티가 Testcontainers project에 의해 manage되는 컨테이너와 같은 external resource에 의해 manage되는 경우가 이에 해당합니다.
다음 예제는 동적 프로퍼티를 register하는 방법을 보여줍니다:
1@ContextConfiguration 2class MyIntegrationTests { 3 4 static MyExternalServer server = // ... 5 6 @DynamicPropertySource // (1) 7 static void dynamicProperties(DynamicPropertyRegistry registry) { // (2) 8 registry.add("server.port", server::getPort); // (3) 9 } 10 11 // tests ... 12}
| 1 | @DynamicPropertySource로 static 메서드에 어노테이션을 추가합니다. |
| 2 | argument로 DynamicPropertyRegistry를 받습니다. |
| 3 | 서버에서 lazy하게 retrieve될 동적 server.port 프로퍼티를 register합니다. |
1@ContextConfiguration 2class MyIntegrationTests { 3 4 companion object { 5 6 @JvmStatic 7 val server: MyExternalServer = // ... 8 9 @DynamicPropertySource // (1) 10 @JvmStatic 11 fun dynamicProperties(registry: DynamicPropertyRegistry) { // (2) 12 registry.add("server.port", server::getPort) // (3) 13 } 14 } 15 16 // tests ... 17}
| 1 | @DynamicPropertySource로 static 메서드에 어노테이션을 추가합니다. |
| 2 | argument로 DynamicPropertyRegistry를 받습니다. |
| 3 | 서버에서 lazy하게 retrieve될 동적 server.port 프로퍼티를 register합니다. |
자세한 내용은 Context Configuration with Dynamic Property Sources를 참조하십시오.
@TestPropertySource
@TestBean