Встречается на собеседованиях • сегодня
Что такое кэширование тестового контекста
Кэширование тестового контекста в JUnit (начиная с версии 5) позволяет повторно использовать контекст тестов между несколькими тестовыми методами, что ускоряет выполнение тестов. Это особенно полезно для тяжелых операций (например, инициализация Spring-контекста, подключение к БД).
Пример с аннотацией @TestInstance:
java
@TestInstance(TestInstance.Lifecycle.PER_CLASS)
public class CacheTestContextExample {
private ExpensiveResource resource;
@BeforeAll
void init() {
resource = new ExpensiveResource(); // Инициализируется один раз для всех тестов
}
@Test
void test1() { /* использует resource */ }
@Test
void test2() { /* использует resource */ }
}Ключевые моменты:
- По умолчанию JUnit создает новый экземпляр тестового класса для каждого метода (
PER_METHOD) PER_CLASSпозволяет использовать один экземпляр для всех тестов- Spring Boot тесты автоматически кэшируют контекст через
@DirtiesContext

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы