Context Failure Threshold

As of Spring Framework 6.1, a context failure threshold policy is in place which helps avoid repeated attempts to load a failing ApplicationContext. By default, the failure threshold is set to 1 which means that only one attempt will be made to load an ApplicationContext for a given context cache key (see Context Caching). Any subsequent attempt to load the ApplicationContext for the same context cache key will result in an immediate IllegalStateException with an error message which explains that the attempt was preemptively skipped. This behavior allows individual test classes and test suites to fail faster by avoiding repeated attempts to load an ApplicationContext that will never successfully load — for example, due to a configuration error or a missing external resource that prevents the context from loading in the current environment.

You can configure the context failure threshold from the command line or a build script by setting a JVM system property named spring.test.context.failure.threshold with a positive integer value. As an alternative, you can set the same property via the SpringProperties mechanism.

If you wish to effectively disable the context failure threshold, you can set the property to a very large value. For example, from the command line you could set the system property via -Dspring.test.context.failure.threshold=1000000.