Выбор ответа Senior Jest и Vitest обновлено

Риск снапшотов

Вопрос

Команда снапшотит целые страницы HTML на 2000 строк. Чем это плохо?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: Любая мелочь ломает тест, снапшот обновляют через -u не читая. Большой снапшот падает от каждого изменения вёрстки, на ревью его не читают, и обновление становится ритуалом.

Варианты ответа

  1. Снапшоты не работают с HTML, их рассчитывают на объекты и JSON
  2. Снапшоты такого размера замедляют набор тестов примерно в 100 раз
  3. Снапшоты нельзя хранить в git, их генерируют заново в каждом CI
  4. Любая мелочь ломает тест, снапшот обновляют через -u не читаяправильный ответ

Разбор

Большой снапшот падает от каждого изменения вёрстки, на ревью его не читают, и обновление становится ритуалом. Тест формально есть, а проверки нет. Снапшоты хороши маленькие и осмысленные, например сериализованная ошибка или структура ответа. HTML снапшотить можно, их держат в git рядом с тестом, сильного замедления нет.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.