junit测试中的自定义属性,例如application.setDefaultProperties

时间:2019-09-12 20:09:59

标签: spring-boot testing

我正在Spring Boot应用程序中创建单元/集成测试,并且难以添加测试属性。

这是主应用程序如何从src / main / resources / config.json文件获取属性的方法。

Config config = new AppConfig().config();
if (config == null) {
  System.exit(1);
}

application.setDefaultProperties(config.getSpringProperties());
application.run(args);

我想将测试配置文件放在src / text / resources /下,并将其用于MockMvc的集成测试。有什么办法吗?

config.getSpringProperties() 

返回地图

2 个答案:

答案 0 :(得分:0)

更新:

您可以使用@TestPropertySource@SpringBootTest(properties之类的注释来定义自定义属性位置

有关此主题的一些资源: https://www.baeldung.com/properties-with-spring

旧:

只需添加名为application-test.propertiesapplication-test.yml的文件,然后用@ActiveProfiles("test")注释测试即可。

通过这个,您甚至可以拥有多个配置文件。只需添加@ActiveProfiles("xyz")并命名应用程序属性文件application-xyz.yml

答案 1 :(得分:0)

Spring Boot自动从src / test / resources / application.properties中解析测试属性