Встречается на собеседованиях • сегодня
Как при наличии множества тестов, требующих контекста, распределить их по классам для однократного поднятия контекста
Используй аннотацию @Nested для группировки тестов, требующих общего контекста, и @TestInstance(Lifecycle.PER_CLASS) для однократной инициализации. Пример:
java
@TestInstance(Lifecycle.PER_CLASS)
class IntegrationTest {
@BeforeAll
void setup() {
// Инициализация контекста
}
text
@Nested
class UserTests {
@Test
void testUserCreation() { /*...*/ }
}
@Nested
class OrderTests {
@Test
void testOrderProcessing() { /*...*/ }
}}
text
Ключевые моменты:
1. `PER_CLASS` позволяет `@BeforeAll` выполняться один раз
2. `@Nested` логически группирует тесты
3. JUnit 5+ поддерживает вложенные тестовые классы
4. Можно комбинировать с `@DirtiesContext` для отдельных случаев
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы