我正在使用@TestPropertySource覆盖我的集成测试中的application.yml属性以获得Spring启动应用程序。
@TestPropertySource(properties = { "repository.file.path=src/test/resources/x" })
我想知道是否有某种方法可以使属性VALUE动态化。像这样:
@TestPropertySource(properties = { "repository.file.path=PropertyValueProvider.class" })
感谢您的反馈。在我的例子中,属性值是系统特定的,应该在测试运行时生成。
答案 0 :(得分:12)
@TestPropertySource
仅提供用于配置PropertySource
的声明性机制。 Spring参考手册中的Documentation。
如果您需要程序化支持向PropertySource
添加Environment
,则应实施ApplicationContextInitializer
,可以通过@ContextConfiguration(initializers = ...)
进行注册。 Spring参考手册中的Documentation。
此致
Sam (Spring TestContext Framework的作者)