Модуль 3.6: Тестирование
Зачем тестировать код
Узнай, зачем профессионалы пишут тесты, какие виды бывают и как пирамида тестирования помогает не переусердствовать.
Unit-тесты с Vitest
Vitest — современный тест-раннер для JavaScript/TypeScript. Установка, конфигурация, базовый синтаксис, assertions, хуки жизненного цикла и параметризованные тесты.
Моки и шпионы
vi.fn(), vi.spyOn(), vi.mock() — инструменты для изоляции кода от зависимостей в тестах. Моки модулей, глобальных объектов и таймеров.
Тестирование компонентов
Testing Library — тестирование UI-компонентов как пользователь. Queries, userEvent, формы, custom matchers jest-dom для React и Vue.
Тестирование асинхронного кода
async/await в тестах, waitFor, findBy*, fake timers, MSW v2 для мокания HTTP-запросов. Тестирование компонентов с загрузкой данных.
TDD и best practices
Test-Driven Development: Red-Green-Refactor на практике. Восемь best practices качественных тестов: AAA, изоляция, edge cases, фабрики. Code coverage с Vitest.