JavaScript-фреймворк для сквозного тестирования браузерных и мобильных приложений: тесты пишутся как понятные пользователю шаги и запускаются на разных движках.
pytest-dev/pytest-bdd
BDD-фреймворк, который запускает feature-файлы Gherkin как тесты pytest без отдельного тестового раннера.
- Звёзды
- 1,473
- Форки
- 256
- Открытые issues
- 87
- Последний коммит
- 4 дня назад
Что это?
pytest-bdd реализует подмножество языка Gherkin и позволяет командам описывать требования в feature-файлах с шагами Given, When и Then, связывая их с функциями тестов на Python. Поскольку фреймворк работает поверх pytest, BDD-сценарии выполняются вместе с модульными и функциональными тестами и используют ту же настройку CI.
Реализации шагов — это обычные функции pytest, поэтому существующие фикстуры можно передавать в шаги через внедрение зависимостей. Шаг Given также может установить именованную фикстуру с помощью target_fixture — так состояние, подготовленное на этапе настройки, передаётся между шагами без общего глобального контекста. Аргументы шагов можно разбирать с помощью парсеров string, parse, cfparse или re.
Библиотека также поддерживает шаблоны сценариев с несколькими таблицами примеров, блоки Background, правила, datatables и docstrings, а также сопоставление тегов с маркерами: благодаря этому сценарии можно выбирать с помощью pytest -m или -k.
Ключевые возможности
- 01Запускает feature-файлы Gherkin как обычные тесты pytest
- 02Передаёт фикстуры pytest в шаги Given, When и Then
- 03Поддерживает шаблоны сценариев с несколькими таблицами примеров
- 04Предоставляет парсеры аргументов шагов string, parse, cfparse и regex
- 05Сопоставляет теги Gherkin с маркерами pytest для выбора тестов
Сценарии использования
- Написание приёмочных тестов по требованиям продукта в feature-файлах на естественном языке
- Повторное использование существующих фикстур pytest для функционального тестирования веб-приложений или API
- Организация набора тестов Python по функциям с выбором тестов по тегам
Быстрый старт
- 1
Установите pytest-bdd из PyPI
pip install pytest-bdd
Что важно знать
- Каждый файл feature может содержать только одну feature.
- Шаги должны быть реализованы как функции Python, связанные с pytest, поэтому это работает только в наборах тестов Python.
В подборках
Темы
Частые вопросы
- Что такое pytest-bdd?
- BDD-фреймворк, который запускает feature-файлы Gherkin как тесты pytest без отдельного тестового раннера. pytest-bdd реализует подмножество языка Gherkin и позволяет командам описывать требования в feature-файлах с шагами Given, When и Then, связывая их с функциями тестов на Python. Поскольку фреймворк работает поверх pytest, BDD-сценарии выполняются вместе с модульными и функциональными тестами и используют ту же настройку CI.
- pytest-bdd можно использовать бесплатно? Какая у него лицензия?
- pytest-bdd распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- pytest-bdd всё ещё поддерживается?
- Активно поддерживается. Последний коммит в pytest-bdd — 2 нояб. 2026 г..
- Для чего можно использовать pytest-bdd?
- Написание приёмочных тестов по требованиям продукта в feature-файлах на естественном языке Повторное использование существующих фикстур pytest для функционального тестирования веб-приложений или API Организация набора тестов Python по функциям с выбором тестов по тегам
- Как установить pytest-bdd?
- Установите pytest-bdd из PyPI: pip install pytest-bdd
- Где скачать pytest-bdd?
- Исходный код и инструкции по установке — на GitHub: https://github.com/pytest-dev/pytest-bdd
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Плагин для pytest, который запускает тесты параллельно на нескольких CPU и позволяет циклически перезапускать падающие тесты.
Плагин для pytest, позволяющий писать тестовые функции как корутины и напрямую вызывать в них код asyncio через await.
Python-пакет, который находит и запускает примеры кода в docstring, заменяя встроенный модуль doctest парсером на основе AST.
Опенсорсный AI-агент для тестирования, который превращает Gherkin feature-файлы в автоматизированные сквозные тесты браузера, API, безопасности, доступности и визуального интерфейса.
Открытый keyword-driven фреймворк на Python для автоматизации приемочного тестирования, ATDD и роботизации бизнес-процессов (RPA).