Вот так выглядит пирамида тестирования с точки зрения #Nodejs разработчика.
- Linting обеспечивает соблюдения код-стайла и отлавливает возможные ошибки синтаксиса. Используеться eslint.
- Type checking проверяет типы или js doc c помощью TypeScript.
- Unit tests не требуют запуска отдельного Node.js процесса. Тестируют отдельные функции или методы с помощью Jest. Активно используют моки. Позволяет мерять уровень покрытия кода тестами. Использует подходы white box testing.
- Integration tests требуют запуска Node.js процесса. Проверяют бизнесу логику c помощью Jest и различных библиотек по работе с API/Bus/etc. Моки если и используются, то только на уровне 3rd-pary. Использует подходы gray box testing.
- e2e требуют запуска не только Node.js процесса, но и клиентского кода. Т.е. запускает все приложения BE+FE. Имитирует поведение пользователя, проверяя бизнесу логику всего приложения. Использует подходы black box testing. Зона отвественности QA-ев.
Post #331
2.34K
