Cucumber.js — популярный инструмент для запуска автоматических тестов, написанный простым языком, позволяющий разработчикам и неразработчикам сотрудничать при тестировании. Это особенно полезно при разработке, основанной на поведении (BDD), где ключевым моментом является четкое общение между заинтересованными сторонами. Используя удобочитаемый язык, Cucumber js позволяет владельцам продуктов, тестировщикам и разработчикам гарантировать, что программное обеспечение работает должным образом, одновременно улучшая общее качество приложения.
Понимание разработки, основанной на поведении (BDD)
Cucumber.js построен на принципах разработки, управляемой поведением (BDD), подхода к разработке программного обеспечения, который поощряет общение между техническими и нетехническими заинтересованными сторонами. В BDD тесты пишутся на общем языке, чтобы все члены команды могли внести свой вклад в понимание требований. Сосредоточив внимание на поведении, а не на технических деталях, BDD гарантирует, что все — от бизнес-аналитиков до разработчиков — имеют одинаковое понимание того, как должно функционировать программное обеспечение.
BDD обычно использует формат «Дано, Когда, Тогда» для описания сценариев:
• Учитывая: определяет исходный контекст (например, «При условии, что пользователь вошел в систему»).
• Когда: описывает действие или событие (например, «Когда пользователь нажимает кнопку отправки»).
• Затем: указывает ожидаемый результат (например, «Затем форма будет отправлена»).
Cucumber.js использует этот формат для тестирования естественного языка.
Установка и настройка Cucumber.js
Чтобы начать работу с Cucumber.js, вам необходимо установить необходимые пакеты npm и настроить проект. Cucumber.js доступен в виде пакета Node.js, и вы можете легко установить его через npm. Вот как это можно настроить в проекте Node.js:
Сценарий: успешный вход в систему с действительными учетными данными
Учитывая, что пользователь находится на странице входа
Когда пользователь вводит действительные учетные данные
Затем пользователь перенаправляется на панель управления
Каждый сценарий представляет собой конкретный вариант использования, который должно поддерживать программное обеспечение. Цель состоит в том, чтобы написать эти тесты так, чтобы их было легко понять как техническим, так и нетехническим членам команды.
Определения шагов в Cucumber.js
В определениях шагов шаги на естественном языке из файла функций сопоставляются с исполняемым кодом JavaScript. Каждый шаг (например, «При условии, что пользователь находится на странице входа») соответствует методу в вашем файле определения шага.
Вот пример того, как вы могли бы определить шаги для функции входа в систему:
const { Учитывая, Когда, Тогда } = require('@cucumber/cucumber');
Дано('пользователь находится на странице входа', функция () {
// Код для перехода на страницу входа
});
Когда('пользователь вводит действительные учетные данные', функция () {
// Код для ввода действительного имени пользователя и пароля
});
Then('пользователь перенаправляется на панель мониторинга', function () {
// Код для проверки перенаправления на панель управления
});
Функции «Дано», «Когда» и «Тогда» взяты из пакета Cucumber.js, и каждая из них отображает шаг сценария в функцию JavaScript, реализующую необходимую логику.
Запуск тестов Cucumber.js
Как только ваши файлы функций и определения шагов будут готовы, вы можете запустить Cucumber.js, чтобы выполнить тесты и просмотреть результаты. В своем терминале просто выполните следующую команду:
npx огурец-js
Cucumber.js проанализирует ваши файлы функций, сопоставит шаги с соответствующими определениями шагов и выполнит тесты. В выводе будет показано, какие сценарии прошли успешно, а какие нет, что даст вам четкое представление о поведении вашего приложения.
Интеграция Cucumber.js с другими инструментами тестирования
Cucumber.js можно интегрировать с популярными платформами тестирования, такими как Mocha или Chai, чтобы улучшить функциональность и структуру вашего набора тестов. Объединив Cucumber.js с этими платформами, вы можете использовать мощные библиотеки утверждений и функции тестирования для повышения глубины ваших тестов.
Например, вы можете использовать Chai для утверждений в определениях шагов:
const {ожидаем} = require('chai');
Then('пользователь перенаправляется на панель мониторинга', function () {
ожидать(currentPage).to.equal('dashboard');
});
Интеграция других инструментов позволяет вам расширить Cucumber.js за пределы базовых сценариев BDD, делая его гибкой частью вашей общей стратегии тестирования.
Лучшие практики написания поддерживаемых тестов BDD
Чтобы гарантировать, что ваши тесты Cucumber.js остаются поддерживаемыми и масштабируемыми, важно следовать определенным рекомендациям при написании тестов:
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3