Що таке снапшотне тестування?
Снапшотне тестування - це спосіб тестування, за якого фіксується поточне представлення результату (наприклад, розмітки компонента, об'єкта або рядка), і під час наступних запусків тестів цей результат порівнюється зі збереженим снапшотом. Якщо результат змінився, тест падає.
Як це працює по суті
- Тест уперше запускається і зберігає «зліпок» результату в окремий файл, снапшот.
- Під час наступних запусків тестів Jest знову генерує результат.
- Якщо новий результат точно збігається зі снапшотом, тест зелений.
- Якщо ні, Jest повідомляє, що поведінка змінилася.
Коли це корисно
- під час тестування React-компонентів (розмітка JSX)
- під час тестування складних об'єктів, які незручно перевіряти вручну
- коли важлива структура результату, а не окремі поля
Що дає снапшот
- дозволяє помітити несподівані зміни в UI або даних
- прискорює тестування складних структур
- слугує «контрольною точкою» поточного стану компонента або функції
Приклад (загальне розуміння)
Якщо компонент раніше повертав таку розмітку:
html
<button>Send</button>а після зміни коду почав повертати:
html
<button>Send message</button>снапшот-тест це впіймає, тому що розмітка вже не збігається зі збереженим снапшотом.
Головна ідея
Снапшотне тестування - це автоматична фіксація і контроль змін результату, щоб розробник заздалегідь розумів, що саме змінилося і чи є це очікуваною поведінкою.
Коротка відповідь
Для співбесідиPremium
Коротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.