具有动态属性的@TestPropertySource

时间:2015-11-22 14:26:44

标签: spring spring-mvc spring-boot spring-test

我正在使用@TestPropertySource覆盖我的集成测试中的application.yml属性以获得Spring启动应用程序。

@TestPropertySource(properties = { "repository.file.path=src/test/resources/x" })

我想知道是否有某种方法可以使属性VALUE动态化。像这样:

 @TestPropertySource(properties = { "repository.file.path=PropertyValueProvider.class" })

感谢您的反馈。在我的例子中,属性值是系统特定的,应该在测试运行时生成。

1 个答案:

答案 0 :(得分:12)

@TestPropertySource仅提供用于配置PropertySource声明性机制。 Spring参考手册中的Documentation

如果您需要程序化支持向PropertySource添加Environment,则应实施ApplicationContextInitializer,可以通过@ContextConfiguration(initializers = ...)进行注册。 Spring参考手册中的Documentation

此致

Sam (Spring TestContext Framework的作者)