You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spring Boot 2.6.0测试中@EnableAutoConfiguration(exclude)配置失效问题

问题原因

Spring Boot 2.6 版本对 @DataMongoTest 注解的自动配置加载逻辑做了调整,该注解默认内置的自动配置优先级高于测试类上单独添加的 @EnableAutoConfiguration 排除规则,导致原来的排除配置不生效,EmbeddedMongoAutoConfiguration 还是会被加载到上下文中触发实例化。

解决方案

推荐直接使用 @DataMongoTest 自带的排除属性实现配置过滤,修改后的测试类代码如下:

@DataMongoTest(excludeAutoConfiguration = EmbeddedMongoAutoConfiguration.class)
@ContextConfiguration(initializers = {MongodbContainerInitializer.class})
@Slf4j
@ActiveProfiles("test")
public class PostRepositoryTest {}

注意:可以直接删除原来类上的 @EnableAutoConfiguration 注解,避免重复配置

其他可选方案

如果需要对整个 test profile 生效,不需要逐个修改测试类,可以在 application-test.yml 或 application-test.properties 中添加全局排除配置:

spring.autoconfigure.exclude=org.springframework.boot.autoconfigure.mongo.embedded.EmbeddedMongoAutoConfiguration

内容的提问来源于stack exchange,提问作者Hantsy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 21:24:00