Встречается на собеседованиях • сегодня
Как осуществить однократное поднятие контекста для использования тестов из разных классов
Для однократного поднятия контекста в тестах можно использовать аннотации JUnit 5 @TestInstance(Lifecycle.PER_CLASS) и @BeforeAll/@AfterAll. Это позволяет инициализировать ресурсы один раз для всех тестов в классе.
Для общего контекста между классами - создайте базовый тестовый класс с @BeforeAll/@AfterAll или используйте расширения (Extensions):
java
public class BaseTest {
static SomeResource resource;
text
@BeforeAll
static void setup() {
resource = new SomeResource(); // Инициализация 1 раз
}
@AfterAll
static void tearDown() {
resource.close();
}}
@TestInstance(Lifecycle.PER_CLASS)
class Test1 extends BaseTest {
// тесты используют общий resource
}
class Test2 extends BaseTest {
// тесты используют общий resource
}
text
Или через JUnit 5 Extensions:
```java
public class ResourceExtension implements BeforeAllCallback, AfterAllCallback {
static SomeResource resource;
@Override
public void beforeAll(ExtensionContext context) {
resource = new SomeResource();
}
@Override
public void afterAll(ExtensionContext context) {
resource.close();
}
}
@ExtendWith(ResourceExtension.class)
class Test1 {
// тесты используют ResourceExtension.resource
}
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы