Запропонувати правкуПокращити цю статтюДопрацюйте відповідь до «Що таке снапшотне тестування?». Ваші зміни проходять модерацію перед публікацією.Потрібне підтвердженняКонтентЩо ви змінюєте🇺🇸EN🇺🇦UAПереглядЗаголовок (UA)Коротка відповідь (UA)**Снапшотне тестування** - спосіб тестування, за якого фіксується поточне представлення результату (наприклад, розмітки компонента), а при наступних запусках воно порівнюється зі збереженим снапшотом; якщо результат змінився, тест падає. **Ключове:** снапшот дає змогу помітити несподівані зміни в UI чи даних і слугує «контрольною точкою» поточного стану компонента або функції.Показується над повною відповіддю для швидкого нагадування.Відповідь (UA)ЗображенняСнапшотне тестування - це спосіб тестування, за якого **фіксується поточне представлення результату** (наприклад, розмітки компонента, об'єкта або рядка), і під час наступних запусків тестів цей результат **порівнюється зі збереженим снапшотом**. Якщо результат змінився, тест падає. --- ### **Як це працює по суті** 1. Тест уперше запускається і зберігає «зліпок» результату в окремий файл, *снапшот*. 2. Під час наступних запусків тестів Jest знову генерує результат. 3. Якщо новий результат **точно збігається** зі снапшотом, тест зелений. 4. Якщо ні, Jest повідомляє, що поведінка змінилася. --- ### **Коли це корисно** - під час тестування React-компонентів (розмітка JSX) - під час тестування складних об'єктів, які незручно перевіряти вручну - коли важлива **структура результату**, а не окремі поля --- ### **Що дає снапшот** - дозволяє помітити **несподівані зміни в UI або даних** - прискорює тестування складних структур - слугує «контрольною точкою» поточного стану компонента або функції --- ### **Приклад (загальне розуміння)** Якщо компонент раніше повертав таку розмітку: ```html <button>Send</button> ``` а після зміни коду почав повертати: ```html <button>Send message</button> ``` снапшот-тест це впіймає, тому що розмітка вже **не збігається зі збереженим снапшотом**. --- ### **Головна ідея** Снапшотне тестування - це **автоматична фіксація і контроль змін результату**, щоб розробник заздалегідь розумів, що саме змінилося і чи є це очікуваною поведінкою.Для рев’юераПримітка для модератора (необов’язково)Бачить лише модератор. Прискорює рев’ю.