Когда платформа TestContext загружает ApplicationContext (или WebApplicationContext) для теста, этот контекст будет кэшироваться и повторно использоваться для всех последующих тестов, которые объявляют ту же уникальную конфигурацию контекста в том же наборе тестов.
SpringПлатформа TestContext хранит контексты приложения в статическом кэше.Это означает, что контекст буквально хранится в статической переменной.Другими словами, если тесты выполняются в отдельных процессах, статический кеш будет очищаться между каждым выполнением теста, и это эффективно отключит механизм кэширования.
Чтобы воспользоваться механизмом кэширования, все тесты должны выполняться в одном и том жепроцесс или набор тестов.Этого можно достичь, выполнив все тесты как группу в среде IDE.Аналогичным образом, при выполнении тестов с помощью инфраструктуры сборки, такой как Ant, Maven или Gradle, важно убедиться, что среда сборки не развивается между тестами.Например, если для forkMode для подключаемого модуля Maven Surefire задано всегда или pertest, инфраструктура TestContext не сможет кэшировать контексты приложения между тестовыми классами, и в результате процесс сборки будет работать значительно медленнее.