«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Cucumber.js: полное руководство по поведенческому тестированию

Cucumber.js: полное руководство по поведенческому тестированию

Опубликовано 9 ноября 2024 г.
Просматривать:892

Cucumber.js: A Complete Guide to Behavior-Driven Testing
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:

  1. Установите Cucumber.js: бить Скопировать код npm install --save-dev @cucumber/cucumber
  2. Настройте свой проект: создайте структуру папок для файлов функций и определений шагов. Например: перл Скопировать код ├── особенности │ ├── шаг_определения │ └── моя-feature.feature После установки вы готовы написать свой первый файл функций и создать соответствующие определения шагов. Написание вашего первого функционального файла Ключевым элементом Cucumber.js является файл функций, в котором тесты написаны простым английским языком с использованием синтаксиса Gherkin. Файлы функций описывают поведение приложения в сценариях, написанных с точки зрения пользователя. Вот пример простого файла функций, который тестирует функциональность входа в систему: Функция: Функциональность входа в систему

Сценарий: успешный вход в систему с действительными учетными данными
Учитывая, что пользователь находится на странице входа
Когда пользователь вводит действительные учетные данные
Затем пользователь перенаправляется на панель управления
Каждый сценарий представляет собой конкретный вариант использования, который должно поддерживать программное обеспечение. Цель состоит в том, чтобы написать эти тесты так, чтобы их было легко понять как техническим, так и нетехническим членам команды.
Определения шагов в 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 остаются поддерживаемыми и масштабируемыми, важно следовать определенным рекомендациям при написании тестов:

  1. Напишите небольшие независимые сценарии: каждый сценарий должен тестировать определенное поведение и не должен полагаться на другие сценарии. Это упрощает понимание и поддержку ваших тестов.
  2. Избегайте слишком сложных определений шагов: определения шагов должны оставаться целенаправленными и краткими. Если шаг требует слишком много логики, рассмотрите возможность разбить его на более мелкие шаги или провести рефакторинг кода.
  3. Повторное использование шагов в разных сценариях. Там, где это возможно, повторно используйте определения шагов в разных сценариях, чтобы уменьшить дублирование и повысить согласованность.
  4. Сохраняйте понятность файлов функций: пишите файлы функций так, чтобы их было легко понять как разработчикам, так и нетехническим членам команды. Четкие и описательные сценарии улучшают общение в команде. Заключение Cucumber.js предоставляет мощный способ устранить разрыв между разработчиками, тестировщиками и заинтересованными сторонами, предлагая простой и понятный формат для написания тестов. Используя Cucumber.js в рамках BDD, вы можете гарантировать, что ваши тесты точно соответствуют бизнес-требованиям и что все члены команды имеют общее понимание того, как должно вести себя приложение. Независимо от того, тестируете ли вы небольшие компоненты или сложные рабочие процессы, Cucumber.js поможет вам написать более понятные и эффективные тесты, которые будут способствовать успеху вашего программного проекта.
Заявление о выпуске Эта статья воспроизведена по адресу: https://dev.to/keploy/cucumberjs-a-complete-guide-to-behavior-driven-testing-12h1?1. Если есть какие-либо нарушения, свяжитесь с [email protected], чтобы удалить это
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3