上下文故障阈值

从 Spring Framework 6.1 开始,已启用上下文故障阈值策略,该策略有助于避免重复尝试加载失败的 ApplicationContext。默认情况下,故障阈值设置为 1,这意味着仅尝试一次为给定的上下文缓存键加载 ApplicationContext(请参阅 上下文缓存)。任何后续尝试为同一上下文缓存键加载 ApplicationContext 都将导致立即出现 IllegalStateException,其中包含一条错误消息,解释该尝试已被预先跳过。此行为允许各个测试类和测试套件通过避免重复尝试加载永远无法成功加载的 ApplicationContext 来更快地失败,例如,由于配置错误或缺少外部资源而导致上下文无法在当前环境中加载。

可以通过设置名为 spring.test.context.failure.threshold 的 JVM 系统属性(值为正整数)从命令行或构建脚本配置上下文故障阈值。或者,可以通过 SpringProperties 机制设置相同的属性。

如果您希望有效禁用上下文故障阈值,可以将该属性设置为一个非常大的值。例如,从命令行,您可以通过 -Dspring.test.context.failure.threshold=1000000 设置系统属性。