Ответ
Кэширование тестового контекста — это оптимизация в тестировании, когда данные или состояние, общие для нескольких тестов, создаются один раз и переиспользуются между тестами. Это ускоряет выполнение тестов, особенно если подготовка контекста затратна (например, создание БД, моки API).
Пример в Jest:
let sharedResource;
beforeAll(() => {
sharedResource = initializeExpensiveResource(); // Выполнится 1 раз для всех тестов
});
test('test 1', () => {
expect(sharedResource).toBeDefined();
});
test('test 2', () => {
expect(sharedResource.property).toEqual('value');
});
Нюансы:
- Изменения контекста в одном тесте влияют на другие (антипаттерн)
- Для изоляции лучше использовать
beforeEach
вместоbeforeAll
- Особенно полезно для интеграционных и E2E тестов