You need to enable JavaScript to run this app. Spring Boot集成测试中OptaPlanner的SolverManager Bean缺失如何解决
优惠活动
大模型
产品
解决方案
定价
更多

Spring Boot集成测试中OptaPlanner的SolverManager Bean缺失如何解决

问题根因

该问题本质是测试场景下Spring上下文没有触发OptaPlanner的自动配置逻辑,导致对应泛型的SolverManager Bean没有被初始化。

最佳实践方案

  • 方案1:全量集成测试用标准注解
    如果你的测试是完整的服务集成测试,直接在测试类上添加@SpringBootTest注解即可,该注解会加载所有starter的自动配置类,包括optaplanner-spring-boot-starter自带的OptaPlannerAutoConfiguration,会自动扫描标注了@PlanningSolution的类,生成对应泛型的SolverManager Bean。
  • 方案2:切片测试场景手动导入自动配置
    如果你用的是@WebMvcTest、@DataJpaTest这类切片测试注解,只需要加载部分Spring上下文,可在测试类上添加@Import(OptaPlannerAutoConfiguration.class)注解,无需手动注册SolverManager,即可触发OptaPlanner的自动装配逻辑。
  • 方案3:单元测试场景直接Mock
    如果你的测试是单元测试,不需要真实运行规划求解逻辑,直接在测试类中添加@MockBean注解修饰SolverManager字段,Mock对象会直接注入到依赖的Bean中,不需要触发自动装配。

必要校验项

  • 确认你的EngagementSolution类上已经添加了@PlanningSolution注解,这是OptaPlanner自动识别解决方案类、生成对应SolverManager的必要前提
  • 确认测试类的包路径和主启动类的包路径一致,或者在@SpringBootTest注解中通过classes属性指定主启动类,避免自动配置扫描失效

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.11 19:03:02