Как показал мой опыт работы в GitLab - тестирование Vue-компонентов не самая сильная сторона даже тех, кто съел собаку на тестировании к примеру backend-кода. Здесь “аукается” то, что во Vue очень много сложных возможностей, которые нетривиально тестировать. Добавьте к этому некие удивительные особенности @vue/test-utils (у автора порядка 10 принятых pull-requests в репозиторий) - и получите прекрасный коктейль сложного тестирования.
Видео представляют собой небольшие (~15-30 минут) фрагменты теоретических изысканий, объясняющих всё “на пальцах” (а точнее пером по экрану).
Что именно тестируется во Vue-компонентах?
Вывод компонента в зависимости от props
Когда мы передаем такие-то параметры, мы ожидаем что кнопка видна
Когда мы передаем такие-то параметры, мы ожидаем, что видна аватарка пользователя с такими-то параметрами
Генерирование побочных эффектов
Когда пользователь нажимает на вот этот элемент, мы ожидаем что компонент генерирует событие "Submit" с такими-то параметрами
Когда компонент появляется в DOM-дереве, мы ожидаем что компонент вызывает функцию getUser у такого-то объекта
Что предлагает нам @vue/test-utils для тестирования?
Жизненный цикл компонента сквозь призму тестирования
Холивар: mount vs shallowMount
Как выбрать?
Стоит ли всегда выбирать одно?
Последствия выбора?
Бонус: А что поменяется во Vue3?
Бонус: Компонентные тесты и Vue: как и когда?
Практическая часть
Семинар представляет собой написание и критику конкретных тестов на Jest реального кода с пояснением что и для чего применяется. Другими словами: соотношение “документации” к практике ее применения составляет около 30 к 70% по оценке автора.
Illya Klymov — инженер-программист и эксперт в области JavaScript с более чем 15-летним опытом. Ph.D. в области компьютерных наук, Senior Frontend Engineer в GitLab и основатель образовательного проекта JavaScript.Ninja. Специализируется на архитектуре фронтенда, качестве кода и инженерных практиках. Автор обучающих программ и спикер профессиональных конференций.
Проект Ильи Климова - годный ресурс для изучения javascript и js фреймворков. Шаг за шагом мы пройдем все этапы разработки реального проекта, воссозданные детально благодаря записанным видео.