Давайте признаем, мокинг может быть действительно запутанным. Сначала нужно понять, что именно мокать. Затем - найти правильный способ, чтобы это не ухудшило качество вашего тестирования. Если моков слишком много, тесты теряют смысл. Если недостаточно, они становятся хрупкими.
В любом случае, вы тратите много усилий, а ощущение пользы не всегда приходит.
И вот тут на помощь приходит Артём. Он уже почти десятилетие развеивает заблуждения разработчиков о мокинге и готов сделать вас профессионалом в этой области.
Что вы узнаете:
В этом практическом воркшопе вы научитесь:
- Какова цель мокинга;
- Что и когда нужно мокать;
- Как писать моки, которые приносят пользу, а не становятся бременем в поддержке;
- Как отделить моки от деталей реализации;
- Как обеспечить безопасность типов в моках;
- И все техники мокинга, которые вам понадобятся для тестирования вашего кода!
Решая реальные задачи с использованием фреймворка Vitest, вы получите полное понимание мокинга и наконец сделаете его полезным инструментом в своем тестовом арсенале.
Структура воркшопа: Воркшоп состоит из 6 блоков упражнений, посвященных различным техникам мокинга для разных типов данных.
Границы
Поймите, что такое мокинг на самом деле, и как он помогает создавать тестовые границы. Узнайте, как каждый мок влияет на тестируемый код с помощью наглядных примеров.
Мокинг функций
Функции лежат в основе логики JavaScript. Научитесь мокать функции для эффективного тестирования входных и выходных данных. Создавайте моки для функций, отслеживайте их вызовы и настраивайте поведение в тестируемом коде.
Мокинг даты и времени
Устраните побочные эффекты изменяющихся даты и времени в тестах. Научитесь "замораживать" время и мокать код, зависящий от времени, для обеспечения стабильных результатов тестирования.
Мокинг глобальных переменных
Исследуйте, как мокать неявные зависимости без нарушения работы. Научитесь мокать глобальные значения, методы и переменные окружения, создавая идеальную среду для тестирования.
Мокинг сетевых запросов
Получите контроль над сетевыми запросами и надежно тестируйте клиентский код. Перехватывайте запросы и мокайте ответы с помощью Mock Service Worker, воспроизводя различные сценарии сети.
Мокинг модулей
Поймите, когда использовать мокинг модулей, и изучите альтернативные техники. Научитесь безопасно мокать модули с использованием встроенных API Vitest.
Для кого этот воркшоп: Этот воркшоп предназначен для всех разработчиков, как новичков в автоматизированном тестировании, так и тех, кто пишет тесты годами. Если вы не уверены, когда вводить моки в свой тестовый набор, или как это сделать, чтобы не пришлось переделывать его на следующий день, этот воркшоп создан специально для вас.