Ответ
Snapshot (снимок) — это сохранённое состояние данных или UI на определённый момент времени. В контексте фронтенда часто используется для:
- Тестирования (Jest, Storybook) — сравнения текущего рендера компонента с эталонным снимком.
- Состояния приложения (Redux, Zustand) — сохранения состояния для отката или дебага.
Пример snapshot-теста в Jest:
test('Button renders correctly', () => {
const button = render(<Button>Click</Button>);
expect(button).toMatchSnapshot();
});
Особенности:
- Хранятся как текстовые файлы (обычно в
__snapshots__
) - Требуют обновления при изменении компонента (
jest -u
) - Не заменяют unit-тесты, а дополняют их