Spring Test использует механизм кэширования контекста для повторного использования уже запущенных контекстов, если конфигурация контекста совпадает. Таким образом, по умолчанию вы должны иметь один абстрактный класс или просто аннотировать свои тесты с помощью @SpringBootTest
. Пакет, в котором находится тестовый или производственный код, не имеет значения.
Однако есть сценарии ios, в которых Spring Test создаст новый контекст, если вы измените что-то для конфигурации контекста, например, используйте @MockBean
или установите активный профиль.
Взгляните на официальную документацию , и вы можете найти список параметров конфигурации, которые Spring Test использует для определения контекста. Если один из этих параметров изменяется во время ваших тестов, вы получите новый контекст.
Также убедитесь, что ваши тесты выполняются в том же контексте и вы не используете forkMode
плагина Maven Surefire .