Что такое snapshot

Ответ

Snapshot (снимок) — это сохранённое состояние данных или UI на определённый момент времени. В контексте фронтенда часто используется для:

  1. Тестирования (Jest, Storybook) — сравнения текущего рендера компонента с эталонным снимком.
  2. Состояния приложения (Redux, Zustand) — сохранения состояния для отката или дебага.

Пример snapshot-теста в Jest:

test('Button renders correctly', () => {
  const button = render(<Button>Click</Button>);
  expect(button).toMatchSnapshot();
});

Особенности:

  • Хранятся как текстовые файлы (обычно в __snapshots__)
  • Требуют обновления при изменении компонента (jest -u)
  • Не заменяют unit-тесты, а дополняют их