我定义了一个类来自动加载我的springboot applicaton-*.properties中的属性。
@Component
@ConfigurationProperties("my-app")
@EnableConfigurationProperties
@Data
public class MyAppProperties {
private String propertyX;
private String propertyY;
..
}
现在这里是我的测试类
@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)
自动加载应用程序.属性文件
@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());
}
添加 @EnableConfigurationProperties(value = MyAppProperties.class)
到你的测试类。
@SpringBootTest(webEnvironment = WebEnvironment.DEFINED_PORT)
@EnableConfigurationProperties(value = MyAppProperties.class)
public class MessageProcessorApplicationTests {
@Autowired
private RestTemplate restTemplate;
@Autowired
public MyAppProperties myAppProperties;
@Test
public void testSomething(){
doSomeSeetup(myAppProperties.getPropertyX()) //myAppProperties is null!! why?
}