«Не забудь зробити знімок компоненти!». Стисло про Snapshot-тестування на Jest

Сергій Єрьомін

«І не забудьте зробити знімок (Snapshot) компоненти!»

Ви часто можете почути таку фразу від вашого тим-ліда.

Ні, це не фото на пам’ять з вашою компонентою. І точно не JPEG або PNG.

Snapshot у Jest — це механізм для тестування інтерфейсу користувача, який дозволяє зберегти «знімок» вигляду компоненти на певний момент часу. Цей знімок містить рендерену версію компонента. Під час наступних запусків тестів, Jest порівнює актуальний рендер зі збереженим знімком. Якщо є різниця, тест не пройде, що вказує на те, що вигляд або структура компоненти змінилися.

 

Основні моменти про snapshot-тестування:

  • Створення: Коли ви запускаєте тест вперше, Jest створює snapshot і зберігає його у файлі.
  • Порівняння: При наступних запусках тестів Jest порівнює поточний рендер зі збереженим snapshot.
  • Оновлення: Якщо зміни у компоненті були очікуваними, ви можете оновити snapshot до нової версії.

Snapshot-тестування корисне, коли потрібно стежити, чи компоненти рендеряться очікуваним чином. Воно забезпечує додатковий шар захисту від ненавмисних змін у вашому коді.

Чи можу я побачити зміну шрифта за допомогою Snapshot?

Ні, snapshot-тестування в Jest не дозволяє побачити зміни шрифту, або інших стилів, які не відображаються у вихідному HTML-коді компоненти. Snapshots зберігають лише структуру JSX/HTML, яку рендерить компонента, і не включають інформацію про CSS-стилі, такі як колір, розмір шрифту, або інші візуальні властивості.

Сподіваюся, було цікаво. Дякую, що читаєте!

Цей текст з особистого блогу, опублікований з дозволу автора.

Останні статті

Cтруктуровані промпти підвищують точність моделі до 93% — дослідження Meta

Дослідники компанії Meta розробили новий підхід до використання великих мовних моделей (LLM) для аналізу програмного…

02.04.2026

Google DeepMind розкриває секрети: шість способів, як зламати ШІ-агента

Нове дослідження від Google DeepMind попереджає: поки ми навчаємось працювати з автономними ШІ-агентами, які здатні…

02.04.2026

Користувачам Google AI Pro подвоїли сховище на Диску до 5 Тб: вартість тарифу не зросла

Компанія Google оголосила про значне розширення можливостей своєї преміальної підписки AI Pro. Відтепер користувачі отримують…

02.04.2026

Витік коду Claude Code: що ми дізналися про секретні плани Anthropic

Випадкова публікація вихідного коду Claude Code (версія 2.1.88) через помилково завантажений файл source map в…

02.04.2026

Oracle скорочує 30 000 співробітників одним електронним листом о 6 ранку

Корпорація Oracle, яка опікується розвитком мови програмування Java та багатьма іншими проектами, розпочала одну з…

01.04.2026

Заради штучного інтелекту засновник Twitter Джек Дорсі звільняє навіть менеджерів

Керівник компанії Block Джек Дорсі, який в Україні більш відомий як засновник Twitter, підтверджує свій…

01.04.2026