JS-тестирование с Jasmine | OTUS
⚡ Подписка на курсы OTUS!
Интенсивная прокачка навыков для IT-специалистов!
Подробнее

Курсы

Программирование
Алгоритмы и структуры данных Team Lead Архитектура и шаблоны проектирования Разработчик IoT C# Developer. Professional PostgreSQL Разработчик на Spring Framework
-5%
Flutter Mobile Developer NoSQL iOS Developer. Basic
-10%
C++ Developer. Basic C++ Developer. Professional Android Developer. Professional Microservice Architecture Unity Game Developer. Professional Базы данных Node.js Developer React.js Developer Специализация Java-разработчик
-25%
Web-разработчик на Python Framework Laravel Cloud Solution Architecture Vue.js разработчик Интенсив «Оптимизация в Java» Супер - интенсив по паттернам проектирования Супер - интенсив по Kubernetes Супер-интенсив "Tarantool" PHP Developer. Basic
Инфраструктура
Мониторинг и логирование: Zabbix, Prometheus, ELK Administrator Linux. Professional Дизайн сетей ЦОД Разработчик IoT PostgreSQL Экспресс-курс "Версионирование и командная работа с помощью Git"
-30%
Microservice Architecture Highload Architect Специализация Administrator Linux
-25%
Network engineer Cloud Solution Architecture Внедрение и работа в DevSecOps Супер-практикум по работе с протоколом BGP Супер - интенсив по паттернам проектирования Супер - интенсив по Kubernetes Супер-интенсив «СУБД в высоконагруженных системах» Супер-интенсив "Tarantool" Network engineer. Basic
Корпоративные курсы
Безопасность веб-приложений IT-Recruiter Дизайн сетей ЦОД Компьютерное зрение Разработчик IoT Вебинар CERTIPORT Machine Learning. Professional
-6%
NoSQL Пентест. Практика тестирования на проникновение Java QA Engineer. Базовый курс Руководитель поддержки пользователей в IT
-8%
SRE практики и инструменты Cloud Solution Architecture Внедрение и работа в DevSecOps Супер-практикум по работе с протоколом BGP Infrastructure as a code Супер-практикум по использованию и настройке GIT Промышленный ML на больших данных Экспресс-курс «CI/CD или Непрерывная поставка с Docker и Kubernetes» BPMN: Моделирование бизнес-процессов Основы Windows Server
Специализации Курсы в разработке Подготовительные курсы Подписка
+7 499 938-92-02

JS-тестирование с Jasmine

Jasmine — фреймворк для тестирования JavaScript-кода с уклоном в методологию BDD (Behaviour-Driven Development). Идея BDD заключается в том, что перед написанием теста надо сначала описать желаемый от добавляемой функциональности результат на предметно-ориентированном языке. Далее конструкции языка переводятся специалистами или программным обеспечением в описание теста.

Преимущества Jasmine: — фреймворк с открытым исходным кодом; — способность тестировать любые JavaScript-приложения; — возможность писать простые и легкочитаемые тесты.

Запускать тесты вы сможете и через браузер (если желаете видеть результаты собственными глазами), и из командной строки посредством Node.JS (если хотите автоматизировать проверку). В том случае, если тесты используют взаимодействие с DOM (либо другие компоненты web-браузера), для запуска под Node.JS надо будет подключить JSDOM.

Рассмотрим простой тест на Jasmine, где тестируется функция вычисления квадратного корня Math.sqrt():

1-1801-02e7bd.png

В этом тесте описываются конкретные тестовые случаи посредством конструкций expect(...).toBe(...), в которых указывается пример выполняемого кода, а также ожидаемый результат.

Теперь посмотрим на результат выполнения данных тестов в web-браузере, где фреймворк Jasmine выведет перечень пройденных проверок:

2-1801-620094.png

Осталось добавить, что Jasmine — расширяемый фреймворк, поэтому вы можете без проблем дописывать свои matchers для вывода результатов в удобном виде.

Получить более подробную информацию об этом фреймворке и почитать документацию можно на официальном сайте проекта.

По материалам статьи "Автоматизированное тестирование".

Не пропустите новые полезные статьи!

Спасибо за подписку!

Мы отправили вам письмо для подтверждения вашего email.
С уважением, OTUS!

Автор
0 комментариев
Для комментирования необходимо авторизоваться