问题是有一个使用配置类来获取所有配置属性的项目
@Configuration
@PropertySource("file:/external/path/config/config.properties")
public class AppSettings {
@Value("${SOME.PROPERTY}")
public String SOME_PROPERTY;
}
所以在我的测试配置类中,我只是用这个替换属性:
@TestPropertySource("classpath:testconfig.properties")
所以这是工作(在我的本地(,它用测试配置替换了配置。 但是当我在认证环境中部署它时,它会抛出FileNotFoundException: /external/path/config/config.properties
此 config.properties 位于外部路径中,因此部署无法访问该路径。
testconfig.properties在项目中,所以我需要阅读这个而不是config.properties...但仍在阅读它并抛出错误。
运行测试时如何正确替换配置属性?
尝试在:
后添加点
@PropertySource("file:./server/path/config/config.properties")
另请查看 Spring 文档的这一章,它可能对您有用。