Belli
Назад Психология Эзотерика Здоровье Бизнес Фото Видео Иностранные языки Имидж и стиль Дизайн Хобби и рукоделие Администрирование Программирование SMM Отношения Дети и родители Школа и репетиторство Seo Форекс и инвестиции Отдых и путешествия Музыка Сад и огород Бухгалтерия и финансы Другие тематики Темы и шаблоны Авто-мото Строительство и ремонт Курсы Авторы
Корзина

[javascript.ninja] Мастер-класс: тестирование Vue-приложений (Илья Климов)

[javascript.ninja] Мастер-класс: тестирование Vue-приложений (Илья Климов)
[javascript.ninja] Мастер-класс: тестирование Vue-приложений (Илья Климов)
В наличии
1695 RUB

О товаре

Кратко:
Серия видео по ключевым аспектам теории
2 real-time семинара (суммарно около 4-5 часов) с разборами реальных примеров тестирования Vue-компонентов с использованием Jest (запись будет снабжена таймкодами для удобной навигации)
репозиторий с примерами с семинаров
Закрытый чат по тестированию (хочу знать каждую вашу боль!)
Доступ к видео: 1 февраля 10:00 по Украине, семинары: 6 и 13 февраля 11:00 (пара часов + общение)
Зачем мне это?
Как показал мой опыт работы в GitLab - тестирование 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-компонентов
    • Тестирование computed-свойств
    • Использование setData
    • Использование setProps
    • Использование setMethods
  • Тестирование снапшотами
    • Какие задачи решают снапшоты
    • Когда стоит использовать снапшоты и как
    • Слабые места снапшотов
  • Структура классического Vue-теста
  • Фикстуры
    • Какую задачу решают фикстуры?
    • Почему важно использовать фикстуры, а не писать самому параметры?
    • Аккуратно: мутация фикстур!
    • Признаки «здесь надо использовать фикстуры»
  • Тестирование компонентов со слотами
    • В чём сложность?
    • Создание простейшего стаба для рендера слота
    • Стабы с динамическими слотами
    • Scoped slots с логикой
    • Когда можно вместо стаба передать настоящий компонент и чем это грозит?
  • Тестирование компонентов с Vuex
    • Создание и передача мока сторы
    • Как портят жизнь `mapActions, map...`
    • Корректно мокаем actions/mutations
    • Тестирование самой сторы
  • Тестирование компонентов с Apollo GraphQL
    • Что для компонента означает использование в нем Apollo?
    • apollo-link-mock
    • На что обратить внимание
Вопросы и ответы
Спойлер
Почему это «мастер-класс», а не курс
В моей картине мира курс должен обладать рядом признаков:
  • контролем качества на входе (иначе как понять, что мы способны научить человека?)
  • домашними заданиями
  • контролем качества на выходе
Ничего из этого в этом материале нет. Я не представляю, какое тестовое задание можно придумать на курс по тестированию, я осознанно не хочу делать домашние задания, потому что тестирование (и я хочу чтобы это усвоил каждый) чётко привязано и регулируется задачами бизнеса - в разных условиях и требованиях один и тот же код будет протестирован по-разному. Моя задача: сподвигнуть вас на максимально скорое внедрение тестирования в существующий проект, пусть даже в рамках личной инициативы. Я готов отвечать достаточно долго и развернуто на вопросы любой сложности по тестированию и особенно - по его философии
Я не смогу присутствовать лично на семинаре, что я потеряю?
Вы потеряете возможность задать вопросы в реал-тайм и получить ответ сразу же на стриме. Мы всё так же будем крайне рады вас видеть в нашем канале и с удовольствием ответим на ваши вопросы
Какой уровень владения Vue и тестами нужен, чтобы мастер-класс был полезен?
На мастер-классе не будет пояснения базовых концепций тестирования. Возможно
Скрытый текст. Доступен только зарегистрированным пользователям.
поможет их освоить. Также ожидается, что Вы знакомы с терминологией Vue и принципами использования основных его возможностей
Условия возврата денег
Гарантированный возврат в течение 30 дней с момента оплаты без лишних вопросов

Отзывы покупателей



Кликните на изображение чтобы обновить код, если он неразборчив

Рейтинг

0
Голосов: 0
5
Голосов: 0
4
Голосов: 0
3
Голосов: 0
2
Голосов: 0
1
Голосов: 0

Еще курсы от javascript.ninja, Илья Климов

[ItBursa] Профессиональные JavaScript курсы (Илья Климов)
Самой большой проблемой всех учебников и статей, по которым начинают учиться начинающие программисты JavaScript, является отсутствие нормальной практики. Можно читать тонны материалов по веб-программированию на JavaScript и не научиться ничему, потому что знания, которые Вы не успели применить,
1750 RUB
[JavaScript.Ninja] Мастер-класс: Unit-тестирование в JavaScript
Серия видео по ключевым аспектам теории 2 real-time семинара (суммарно около 4 часов) с разборами реальных примеров тестирования чистого JavaScript-кода с использованием Jest (запись будет снабжена таймкодами для удобной навигации) репозиторий с примерами с семинаров Закрытый чат по тестированию
1630 RUB
Эффективный TypeScript (Илья Климов)
Курс по TypeScript от главного хейтера TypeScript Много лет я рассказывал какой TypeScript плохой. Теперь же, я считаю его must have для новых проектов. Что же случилось? Сам TypeScript как язык постепенно улучшается. Появление satisfies, улучшение вывода типов делает язык надежнее чем раньше
2200 RUB
[javascript.ninja] CI/CD для JavaScript-разработчика. Продвинутый (Виталий Слободин, Илья Климов)
DevOps - это прежде всего культура, а не должность. Эффективное понимание DevOps-процессов резко повышает вашу ценность для компании, а CI/CD - сердце DevOps Основано на реальных событиях Мы работаем в GitLab и строим (по нашему мнению) одну из мощнейших CI/CD систем в мире. Мы противники «голосов
1695 RUB
Современный PowerShell (Андрей Попов)
Описание Рассматривается объектно-ориентированная оболочка командной строки Microsoft PowerShell и ее возможности для автоматизации повседневных задач пользователей и администраторов. Описываются основные элементы и конструкции языка PowerShell, инструменты для написания и отладки сценариев.
1080 RUB
FreeIPA современный Ldap (Василий Егоров)
FreeIPA: современный Ldap Курс про мощный LDAP сервер с возможностями dns-сервера, удобной панелью управления и горизонтальным масштабированием. Программа курса Программа разработана для самостоятельного обучения в удобное для вас время. На связи с вами будет преподаватель для обратной связи, будет
1650 RUB