Full pytest documentation¶
Download latest version as PDF
Start here¶
How-to guides¶
- 如何调用 pytest
- 如何在测试中编写和报告断言
- 如何使用 fixture
- “请求” fixtures
- 自动使用的 fixtures(不需要显式请求的 fixtures)
- Scope: 跨类、模块、包或会话共享fixture
- 清理(Cleanup)/收尾(Teardown)(即 Fixture 最终化)
- 安全的收尾
- 安全地运行多个
assert
语句 - Fixtures 可以检查请求的测试上下文
- 使用标记将数据传递给fixture
- fixture 工厂
- 参数化 fixture
- 与标记一起的参数化 fixture
- 模块化:使用 Fixture 函数中的 Fixture
- 根据fixture实例自动对测试进行分组
- 在类和模块中通过
usefixtures
使用 fixture - 覆盖各个级别的fixtures
- 使用其他项目的fixtures
- 如何用属性标记测试函数
- 如何参数化fixtures和测试函数
- 如何在测试中使用临时目录和文件
- 如何使用 猴子补丁/mock 模块和环境
- 如何运行文档测试
- 如何重新运行失败的测试并在测试运行之间保持状态
- 如何管理日志记录
- 如何捕获 stdout/stderr 输出
- 如何捕获警告
- 如何使用 skip 和 xfail 处理无法成功的测试
- 如何安装和使用插件
- 编写插件
- 编写钩子函数
- 如何将 pytest 与现有测试套件结合使用
- 如何在 pytest 中使用基于 unittest 的测试
- 如何实现 xunit 样式的设置
- 如何设置 bash 补全
Reference guides¶
Explanation¶
Further topics¶
- 示例和自定义技巧
- 向后兼容政策
- 历史
- Python版本支持
- Deprecations and Removals
- 贡献
- Development Guide
- 赞助
- pytest 企业版
- 许可
- 联系渠道
- History
- Historical Notes
- Marker revamp and iteration
- cache plugin integrated into the core
- funcargs and
pytest_funcarg__
@pytest.yield_fixture
decorator[pytest]
header insetup.cfg
- Applying marks to
@pytest.mark.parametrize
parameters @pytest.mark.parametrize
argument names as a tuple- setup: is now an “autouse fixture”
- Conditions as strings instead of booleans
pytest.set_trace()
- “compat” properties
- Talks and Tutorials