Инструменты тестирования на JavaScript
С ростом сложности пользовательских приложений, использование автоматизированных тестов не только повышает производительность приложения, но и экономит бюджет компании. Специальные инструменты тестирования, рассматриваемые в нашей заметке, позволят обнаружить ошибки ещё на этапе разработки на JavaScript, что позволит избежать проблем в будущем.
Итак, 4 основных инструмента тестирования на JavaScript: • Jasmine. Представляет собой BDD-фреймворк (Behavior-driven Development), который используется для тестирования JS-кода. У этого фреймворка отсутствуют внешние зависимости, плюс не требуется запуск DOM. Также фреймворк Jasmine характеризуется чистым и понятным синтаксисом, позволяющим как ускорять, так и упрощать процесс тестирования. Кроме того, Jasmine подходит и для тестирования кода, написанного на Ruby и Python; • PhantomJS. Это что-то типа «безголового» WebKit, который часто применяется для интерфейсных и юнит-тестов, причём скрипты выполняются значительно быстрее. Также PhantomJS включает встроенную поддержку разных web-стандартов, включая JSON, Canvas, CSS-селекторы, обработку DOM и SVG; • Protractor. Этот сквозной тестовый фреймворк написан на Node.js и используется для тестирования приложений на Angular и AngularJS. Protractor создавался на основе WebDriverJS и служит для проверки приложения с точки зрения конечного пользователя. При работе используются встроенные события и специальные драйвера; • Mocha. Представляет собой функциональную тестовую среду, работающую на Node.js в браузере. Эта среда проводит тесты последовательно, обеспечивая гибкую и точную отчётность и делая асинхронные тесты по-настоящему простыми. Стоит отметить и тот факт, что Mocha нередко применяется совместно с Chai при проверке результатов теста; • Jest. Если верить информации с домашней страницы проекта, Jest представляет собой прекрасную среду JavaScript-тестирования , основной упор которой сделан на простоту. И это действительно так, ведь Jest не требует дополнительных настроек, является лёгким в понимании и использовании, плюс имеет неплохую документацию. Кроме того, фреймворк имеет открытый исходный код, поддерживается Facebook и отлично подходит для проектов, в которых используются Node, Angular, Vue, React, Babel, TypeScript и не только.
Последние два инструмента рассматриваются в рамках курса «Автоматизация тестирования на JavaScript» в OTUS. Не пропустите!
По материалам статьи «The ultimate list of JavaScript tools».