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

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

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

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

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

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

 

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

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

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

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

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

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

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

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

«У нас є графічні процесори, але їх не можна підключити»: CEO Microsoft скаржиться на нестачу електроенергії

Генеральний директор Microsoft Сатья Наделла заявив, що проблема індустрії штучного інтелекту полягає в нестачі енергетичних…

03.11.2025

Alibaba відкрила безкоштовний доступ до своєї найпотужнішої моделі Qwen3-Max Thinking

Компанія Alibaba представила нову флагманську LLM-модель Qwen3 Max Thinking. Вона має режим міркування і вже…

03.11.2025

Y Combinator змінить свої правила заради українських фаундерів, які не можуть виїхати з країни

Найвідоміший у світі стартап-акселератор Y Combinator оголосив набір в зимову програму, яка триватиме з січня…

03.11.2025

Ілон Маск анонсував запуск месенджера X Chat, система шифрування якого «схожа на біткойн»

Компанія X готує до запуску окрему програму для обміну повідомленнями під назвою X Chat. Вона…

03.11.2025

В OpenAI з’явилась нова категорія фахівців — Super Junior

Компанія OpenAI все частіше бере до себе на роботу фахівців рівня Super Junior — початківців,…

03.11.2025

Найкращий квартал року: експорт ІТ-послуг з України демонструє зростання

За підсумками вересня 2025 року обсяг IT-експорту з України становив $557 мільйонів, що на $17…

31.10.2025