基于 JavaScript 的端到端测试框架,用贴近用户视角的可读步骤编写网页与移动端测试。
pytest-dev/pytest-bdd
一个将 Gherkin 特性文件作为 pytest 测试运行的 BDD 框架,无需单独的测试运行器。
- Star
- 1,473
- Fork
- 256
- 未关闭 Issue
- 87
- 最近提交
- 5天前
这是什么?
pytest-bdd 实现了 Gherkin 语言的一个子集,让团队用 Given、When、Then 步骤编写需求特性文件,并将其绑定到 Python 测试函数上。它基于 pytest 运行,BDD 场景可以与单元测试和功能测试放在一起,共用同一套 CI 配置。
步骤实现就是普通的 pytest 函数,因此已有的 fixture 可以通过依赖注入传入步骤。given 步骤还可以用 target_fixture 设置命名 fixture,让状态在步骤之间传递,而无需共享全局上下文。步骤参数支持 string、parse、cfparse 和 re 等解析器。
此外还支持带多个示例表的场景大纲、Background、Rule、数据表和文档字符串,并能将 Gherkin 标签映射为 pytest 标记,方便用 pytest -m 或 -k 筛选场景。
核心功能
- 01将 Gherkin 特性文件作为标准 pytest 测试运行
- 02可将 pytest fixture 注入 Given、When、Then 步骤
- 03支持带多个示例表的场景大纲
- 04提供 string、parse、cfparse 和正则等步骤参数解析器
- 05将 Gherkin 标签映射为 pytest 标记,便于筛选测试
适用场景
- 根据产品需求,用自然语言特性文件编写验收测试
- 复用已有 pytest fixture 编写 Web 或 API 行为的功能测试
- 按特性组织 Python 测试套件,并通过标签筛选运行
快速上手
- 1
从 PyPI 安装 pytest-bdd
pip install pytest-bdd
使用前须知
- 每个 feature 文件只能包含一个 feature。
- 步骤必须以 Python 函数形式实现并依赖 pytest,因此仅适用于 Python 测试项目。
收录于专题
标签
常见问题
- pytest-bdd 是什么?
- 一个将 Gherkin 特性文件作为 pytest 测试运行的 BDD 框架,无需单独的测试运行器。 pytest-bdd 实现了 Gherkin 语言的一个子集,让团队用 Given、When、Then 步骤编写需求特性文件,并将其绑定到 Python 测试函数上。它基于 pytest 运行,BDD 场景可以与单元测试和功能测试放在一起,共用同一套 CI 配置。
- pytest-bdd 可以免费使用吗?用的什么许可证?
- pytest-bdd 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
- pytest-bdd 还在维护吗?
- 活跃维护中。pytest-bdd 最近一次提交是在 2026年11月2日。
- pytest-bdd 适合用来做什么?
- 根据产品需求,用自然语言特性文件编写验收测试 复用已有 pytest fixture 编写 Web 或 API 行为的功能测试 按特性组织 Python 测试套件,并通过标签筛选运行
- pytest-bdd 怎么安装和运行?
- 从 PyPI 安装 pytest-bdd: pip install pytest-bdd
- 在哪里获取 pytest-bdd?
- 源代码和安装说明在 GitHub 上:https://github.com/pytest-dev/pytest-bdd
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
4252+5 本周756JavaScriptMIT更新于 20小时前
开源 AI 测试智能体,把 Gherkin 用例自动转为端到端浏览器、API、安全、无障碍和视觉测试。
1215+10 本周202PythonAGPL-3.0维护活跃更新于 9天前
基于 Python 的开源关键字驱动自动化框架,用于验收测试、ATDD 和机器人流程自动化(RPA)。
1.2万+7 本周2587PythonApache-2.0维护活跃更新于 5天前