gpt4 book ai didi

java - 未从 JUnit 测试加载 'application.yml' 中的 Spring Boot 属性

转载 作者:IT老高 更新时间:2023-10-28 13:05:32 27 4
gpt4 key购买 nike

我做错了什么?我正在使用这个运行并找到我的 src/main/resources/config/application.yml 的小型独立应用程序。相同的配置在 JUnit 中不起作用,见下文:

@Configuration
@ComponentScan
@EnableConfigurationProperties

public class TestApplication {

public static void main(String[] args) {

SpringApplication.run(TestApplication.class);
}
}


@Component
@ConfigurationProperties

public class Bean{
...
}

以下不起作用,application.yml 中的相同属性未加载,Bean 只有 null 值:

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes = TestApplication.class)

public class SomeTestClass {
...
}

最佳答案

试试这个:

@RunWith(SpringJUnit4ClassRunner.class)
@SpringApplicationConfiguration(classes = TestApplication.class,
initializers = ConfigFileApplicationContextInitializer.class)
public class SomeTestClass {
...
}

编辑:

对于 Spring Boot 1.5+ 版本,删除了 SpringApplicationConfiguration 以支持 SpringBootTest 或直接使用 SpringBootContextLoader

您仍然可以将 initializers 参数与 ContextConfiguration 注释一起使用。

关于java - 未从 JUnit 测试加载 'application.yml' 中的 Spring Boot 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33213854/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com