Spring Boot Test(JUnit4)用@Import导入配置时Maven测试遇日志提示问题
Spring Boot Test + JUnit4 @Import导入配置的日志问题解决
这条INFO日志只是Spring的提示信息:当前测试类未显式声明@ContextConfiguration或@ContextHierarchy,因此默认使用SpringBootContextLoader加载上下文,本身不是错误。但如果你的TestConfiguration未生效,可按以下步骤排查处理:
确保测试配置类的注解正确
用@TestConfiguration而非普通@Configuration标注配置类,避免被主应用上下文扫描,仅在测试上下文生效:@TestConfiguration public class TestConfig { // 自定义Bean定义 }测试类上组合必要注解
JUnit4测试类需配合@RunWith(SpringRunner.class)+@SpringBootTest,再通过@Import导入配置:@RunWith(SpringRunner.class) @SpringBootTest @Import(TestConfig.class) public class OrchestratedServiceTest { // 测试方法 }可选:显式指定上下文配置消除日志
若不想看到这条提示日志,可显式添加@ContextConfiguration指定配置类和加载器:@RunWith(SpringRunner.class) @SpringBootTest @ContextConfiguration(classes = TestConfig.class, loader = SpringBootContextLoader.class) public class OrchestratedServiceTest { // 测试方法 }
注:@Import在Spring Boot Test中是生效的,只要测试类被Spring上下文管理(即添加了@RunWith和@SpringBootTest),TestConfiguration会被正确加载。
内容的提问来源于stack exchange,提问作者morteza
相关产品推荐
相关产品推荐

