Тестирование Vue-компонентов не самая сильная сторона даже тех, кто съел собаку на тестировании к примеру backend-кода. Здесь “аукается” то, что во Vue очень много сложных возможностей, которые нетривиально тестировать. Добавьте к этому некие удивительные особенности @vue/test-utils (у автора порядка 10 принятых pull-requests в репозиторий) - и получите прекрасный коктейль сложного тестирования
Теоретическая часть (записанные видео) Видео представляют собой небольшие (~15-30 минут) фрагменты теоретических изысканий, объясняющих всё “на пальцах” (а точнее пером по экрану)
Что именно тестируется во Vue-компонентах? -Вывод компонента в зависимости от props -Когда мы передаем такие-то параметры, мы ожидаем что кнопка видна -Когда мы передаем такие-то параметры, мы ожидаем, что видна аватарка пользователя с такими-то параметрами -Генерирование побочных эффектов -Когда пользователь нажимает на вот этот элемент, мы ожидаем что компонент генерирует событие "Submit" с такими-то параметрами -Когда компонент появляется в DOM-дереве, мы ожидаем что компонент вызывает функцию getUser у такого-то объекта
Реакция компонента на внешние воздействия -Когда мы вводим данные в это поле, мы ожидаем что вот эта кнопка будет включена -Когда компонент dropdown генерирует событие change, мы ожидаем что вот это поле будет обновлено -Когда вызванная функция возвращает такие-то значения, мы ожидаем что в списке будет ровно три элемента
Что предлагает нам @vue/test-utils для тестирования? -Жизненный цикл компонента сквозь призму тестирования -Холивар: mount vs shallowMount -Как выбрать? -Стоит ли всегда выбирать одно? -Последствия выбора?
Бонус: А что поменяется во Vue3? Бонус: Компонентные тесты и Vue: как и когда?
Практическая часть (семинары) Семинар представляет собой написание и критику конкретных тестов на Jest реального кода с пояснением что и для чего применяется. Другими словами: соотношение “документации” к практике ее применения составляет около 30 к 70% по оценке автора
Тестирование снапшотами -Какие задачи решают снапшоты -Когда стоит использовать снапшоты и как -Слабые места снапшотов
Структура классического Vue-теста
Фикстуры -Какую задачу решают фикстуры? -Почему важно использовать фикстуры, а не писать самому параметры? -Аккуратно: мутация фикстур! -Признаки "здесь надо использовать фикстуры"
Тестирование компонентов со слотами -В чём сложность? -Создание простейшего стаба для рендера слота -Стабы с динамическими слотами -Scoped slots с логикой -Когда можно вместо стаба передать настоящий компонент и чем это грозит?
Тестирование компонентов с Vuex -Создание и передача мока сторы -Как портят жизнь `mapActions, map...` -Корректно мокаем actions/mutations -Тестирование самой сторы
Тестирование компонентов с Apollo GraphQL -Что для компонента означает использование в нем Apollo? -apollo-link-mock -На что обратить внимание
Информация о видео Название: тестирование Vue-приложений Автор: Илья Климов Год выхода: 2021 Жанр: Мастер-класс Язык: Русский Выпущено: Россия Продолжительность: ~10 часов