Start here. This is the direct spoken answer to practice first.
Overview
Spring caches contexts by configuration identity; small test differences can turn one reusable context into many expensive startups.
The Spring TestContext framework caches an ApplicationContext and reuses it when later tests request the same configuration. The cache key includes configuration classes, profiles, properties, context customizers, dynamic properties, and bean overrides. If every test changes one of those inputs, the suite loads many near-identical contexts and becomes slow. I standardize a small set of test context shapes.