问题是您没有
@EnableConfigurationProperties参加测试班。
加载应用程序时,它从
@SpringBootApplication可能有的主类(其中有个)
@EnableConfigurationProperties开始,因此在启动应用程序时可以工作。
而当您仅
ApplicationConfiguration在此处指定的类 上运行Test时
@SpringBootTest(classes=ApplicationConfiguration.class)
Spring不知道它必须启用配置属性,因此这些字段不会注入,因此为null。但是spring正在读你的
application-test.properties文件。只需将值直接注入测试类即可确认
@Value("${xxxxx}")private String xxxxx;在此注入值。但是要注入一个类中,
ConfigurationProperties您需要使用
@EnableConfigurationProperties
把
@EnableConfigurationProperties你的测试类和everythhing工作正常。



