@DynamicPropertySource
@DynamicPropertySource
是一个注释,可以应用于需要在集成测试类中注册 dynamic 属性以添加到 ApplicationContext
的 PropertySources
中的方法,后者是为集成测试加载的。当您不了解属性值时,动态属性非常有用 - 例如,如果属性是由外部资源(例如由 Testcontainers 项目管理的容器)管理的。
以下示例演示如何注册动态属性:
- Java
-
@ContextConfiguration class MyIntegrationTests { static MyExternalServer server = // ... @DynamicPropertySource (1) static void dynamicProperties(DynamicPropertyRegistry registry) { (2) registry.add("server.port", server::getPort); (3) } // tests ... }
1 | 使用 `@DynamicPropertySource`注释 `static`方法。 |
2 | 接受 `DynamicPropertyRegistry`作为参数。 |
3 | 注册一个动态 `server.port`属性,以便从服务器中延迟检索。
|
4 | 使用 `@DynamicPropertySource`注释 `static`方法。 |
5 | 接受 `DynamicPropertyRegistry`作为参数。 |
6 | 注册一个动态 `server.port`属性,以便从服务器中延迟检索。 |
有关进一步的详细信息,请参见 Context Configuration with Dynamic Property Sources 。