此版本仍在开发中,尚未被视为稳定版本。对于最新的稳定版本,请使用 Spring Framework 6.2.0! |
@DynamicPropertySource
@DynamicPropertySource
是可应用于集成中的方法的注释
测试类,这些类需要注册要添加到PropertySources
在Environment
对于ApplicationContext
loaded 为
集成测试。当您不知道
Properties upfront – 例如,如果属性由外部资源管理
例如,对于由 Testcontainers 项目管理的容器。
下面的示例演示如何注册动态属性:
-
Java
-
Kotlin
@ContextConfiguration
class MyIntegrationTests {
static MyExternalServer server = // ...
@DynamicPropertySource (1)
static void dynamicProperties(DynamicPropertyRegistry registry) { (2)
registry.add("server.port", server::getPort); (3)
}
// tests ...
}
1 | 注释static method 替换为@DynamicPropertySource . |
2 | 接受DynamicPropertyRegistry 作为参数。 |
3 | 注册动态server.port 属性从服务器延迟检索。 |
@ContextConfiguration
class MyIntegrationTests {
companion object {
@JvmStatic
val server: MyExternalServer = // ...
@DynamicPropertySource (1)
@JvmStatic
fun dynamicProperties(registry: DynamicPropertyRegistry) { (2)
registry.add("server.port", server::getPort) (3)
}
}
// tests ...
}
1 | 注释static method 替换为@DynamicPropertySource . |
2 | 接受DynamicPropertyRegistry 作为参数。 |
3 | 注册动态server.port 属性从服务器延迟检索。 |