我定义了一个类,可以自动从我的 sprintboot 应用程序中的 applicaton-*.properties 加载属性:
@Component
@ConfigurationProperties("my-app")
@EnableConfigurationProperties
@Data
public class MyAppProperties {
private String propertyX;
private String propertyY;
..
}
现在这是我的测试类(class):
@SpringBootTest(webEnvironment = WebEnvironment.DEFINED_PORT)
public class MessageProcessorApplicationTests {
@Autowired
private static RestTemplate restTemplate;
@Autowired
public static MyAppProperties myAppProperties;
@Test
public void testSomething(){
doSomeSeetup(myAppProperties.getPropertyX()) //myAppProperties is null!! why?
}
在我的测试中,myAppProperties 始终为空。我如何在我的测试中获得这个实例?
最佳答案
注释MessageProcessorApplicationTests
与 @RunWith(SpringRunner.class)
自动加载application.properties文件
@RunWith(SpringRunner.class)
@SpringBootTest(webEnvironment = WebEnvironment.DEFINED_PORT)
public class MessageProcessorApplicationTests {
@Autowired
private static RestTemplate restTemplate;
@Autowired
public static MyAppProperties myAppProperties;
@Test
public void testSomething(){
doSomeSeetup(myAppProperties.getPropertyX());
}
关于java - 在 Spring Boot 测试中获取配置属性类 bean,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62370911/