Что такое кэширование тестового контекста

Ответ

Кэширование тестового контекста — это оптимизация в тестировании, когда данные или состояние, общие для нескольких тестов, создаются один раз и переиспользуются между тестами. Это ускоряет выполнение тестов, особенно если подготовка контекста затратна (например, создание БД, моки 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 тестов