Тестирование JavaScript-приложений
Для запуска юнит-тестов используют фреймворк, например:
- Jest — самый популярный фреймворк для тестирования JavaScript-приложений от Facebook.
- Vitest — свежий фреймворк на базе Vite.
У основных фреймворков есть свои библиотеки, которые помогают тестировать компоненты, например:
- Vue Testing Library на основе Vue Test Utils
- React Testing Library на основе React Test Utilities
Cypress — стандарт для e2e-тестирования веб-приложений.
Тестирование компонентов
Необходимо проверить:
- Отличия в рендеринге при разных входных параметрах (props);
- Отличия в рендеринге в зависимости от свойств и вычисляемых свойств глобального хранилища (store)
- Компонент обрабатывает пользовательские события, поля для ввода
- Компонент вызывает внешние функции
- Компонент вызывает действия и мутации в store
- Происходят нужные изменения в дочерних компонентах
Ссылки
JavaScript
- Jest — Delightful JavaScript Testing Framework by Facebook
- JavaScript & Node.js testing best practices — Yoni Goldberg, GitHub (2022)
- Тестирование JavaScript от А до Я (Jest, React Testing Library, e2e, screenshot) — Ulbi TV (2022)
Vue.js
- Руководство по тестированию Vue приложений — Lachlan Miller (2022)
- Vue Testing Handbook — Lachlan Miller (2022)
- Vue Test Utils — The official testing suite utils for Vue.js 3
- Vue Testing Library Test Examples — GitHub
- Vitest Runner — A simple WebStorm plugin to run Vitest tests
End-to-end
- Cypress — End-to-end test runner