上下文故障阈值

自 Spring Framework 6.1 起,引入了上下文**故障阈值**策略,有助于避免重复尝试加载失败的 ApplicationContext。默认情况下,故障阈值设置为 1,这意味着对于给定的上下文缓存键(参见 上下文缓存),只会尝试加载 ApplicationContext 一次。任何后续尝试加载具有相同上下文缓存键的 ApplicationContext 将会立即抛出 IllegalStateException,并附带一条错误消息,解释该尝试已被抢先跳过。此行为允许单个测试类和测试套件更快地失败,避免重复尝试加载永远无法成功加载的 ApplicationContext,例如,由于配置错误或缺少外部资源导致上下文在当前环境中无法加载。

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

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