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