HOME> 华语世界杯> 完整的 pytest 文档¶

完整的 pytest 文档¶

华语世界杯 2026-10-29 03:54:34

完整的 pytest 文档¶

下载最新版本为 PDF

从这里开始¶

开始

安装 pytest

创建您的第一个测试

运行多个测试

断言引发了某个异常

将多个测试分组到一个类中

为功能测试请求一个唯一的临时目录

继续阅读

操作指南¶

如何调用 pytest

指定要运行哪些测试

获取有关版本、选项名称、环境变量的帮助

测试执行持续时间分析

管理插件的加载

调用 pytest 的其他方式

如何在测试中编写和报告断言

使用 assert 语句进行断言

关于预期异常的断言

关于预期警告的断言

利用上下文相关比较

为失败的断言定义您自己的解释

断言内省详细信息

如何使用夹具

“请求”夹具

自动使用夹具(您不必请求的夹具)

范围:在类、模块、包或会话之间共享夹具

拆除/清理(又称夹具完成)

安全拆除

安全地运行多个 assert 语句

夹具可以内省请求的测试上下文

使用标记将数据传递给夹具

工厂作为夹具

参数化夹具

使用带有参数化夹具的标记

模块化:使用夹具函数中的夹具

按夹具实例自动分组测试

在类和模块中使用 usefixtures 夹具

在不同级别上覆盖夹具

使用来自其他项目的夹具

如何用属性标记测试函数

注册标记

引发未知标记的错误

如何参数化夹具和测试函数

@pytest.mark.parametrize:参数化测试函数

基本的 pytest_generate_tests 示例

更多示例

如何在测试中使用临时目录和文件

tmp_path 夹具

tmp_path_factory 夹具

tmpdir 和 tmpdir_factory 夹具

临时目录位置和保留

如何修补/模拟模块和环境

修补函数

修补返回的对象:构建模拟类

全局修补示例:防止“请求”进行远程操作

修补环境变量

修补字典

API 参考

如何运行 doctest

编码

使用“doctest”选项

在失败时继续

输出格式

pytest 特有功能

替代方案

如何重新运行失败的测试并在测试运行之间保持状态

用法

仅重新运行失败或首先重新运行失败

上次运行中没有测试失败时的行为

新的 config.cache 对象

检查缓存内容

清除缓存内容

逐步

如何管理日志记录

caplog 固定装置

实时日志

自定义颜色

发行说明

pytest 3.4 中的不兼容更改

如何捕获 stdout/stderr 输出

默认 stdout/stderr/stdin 捕获行为

设置捕获方法或禁用捕获

使用 print 语句进行调试

从测试函数访问捕获的输出

如何捕获警告

控制警告

@pytest.mark.filterwarnings

禁用警告摘要

完全禁用警告捕获

DeprecationWarning 和 PendingDeprecationWarning

确保代码触发弃用警告

使用 warns 函数断言警告

记录警告

在测试中警告的其他用例

自定义失败消息

内部 pytest 警告

资源警告

如何使用 skip 和 xfail 处理无法成功的测试

跳过测试函数

XFail:将测试函数标记为预期失败

使用参数化跳过/xfail

如何安装和使用插件

在测试模块或 conftest 文件中要求/加载插件

找出哪些插件处于活动状态

按名称停用/取消注册插件

编写插件

工具启动时的插件发现顺序

conftest.py:每个目录的本地插件

编写自己的插件

让其他人可以安装你的插件

断言重写

在测试模块或 conftest 文件中要求/加载插件

按名称访问另一个插件

注册自定义标记

测试插件

编写挂钩函数

挂钩函数验证和执行

firstresult:在第一个非 None 结果处停止

挂钩包装器:在其他挂钩周围执行

挂钩函数排序/调用示例

声明新挂钩

在 pytest_addoption 中使用挂钩

选择性地使用来自第三方插件的挂钩

在挂钩函数中跨项目存储数据

如何将 pytest 与现有的测试套件一起使用

使用 pytest 运行现有的测试套件

如何在 pytest 中使用基于 unittest 的测试

开箱即用的优点

pytest 特性在 unittest.TestCase 子类中

使用标记将 pytest 固定装置混合到 unittest.TestCase 子类中

使用 autouse 固定装置和访问其他固定装置

如何实现 xunit 风格的设置

模块级设置/拆除

类级设置/拆除

方法和函数级设置/拆除

如何设置 bash 补全

参考指南¶

固定装置参考

内置固定装置

固定装置可用性

固定装置实例化顺序

Pytest 插件列表

配置

命令行选项和配置文件设置

配置文件格式

初始化:确定 rootdir 和 configfile

内置配置文件选项

语法高亮主题自定义

API 参考

常量

函数

标记

固定装置

钩子

集合树对象

对象

全局变量

环境变量

异常

警告

配置选项

命令行标志

说明¶

测试的剖析

关于夹具

夹具是什么

对 xUnit 风格的设置/拆除函数的改进

夹具错误

共享测试数据

关于夹具清理的说明

良好的集成实践

使用 pip 安装包

Python 测试发现的约定

选择测试布局

tox

不要通过 setuptools 运行

使用 flake8-pytest-style 检查

不稳定的测试

不稳定的测试为何是一个问题

潜在的根本原因

Pytest 特性

其他一般策略

研究

资源

pytest 导入机制和 sys.path/PYTHONPATH

导入模式

prepend 和 append 导入模式场景

调用 pytest 与 python -m pytest

更多主题¶

示例和自定义技巧

使用 pytest 演示 Python 失败报告

基本模式和示例

参数化测试

使用自定义标记

可以查看所有收集的测试的会话夹具

更改标准(Python)测试发现

使用非 Python 测试

使用自定义目录收集器

向后兼容性政策

历史

主要关注平稳过渡 - 立场(6.0 之前)

Python 版本支持

弃用和删除

弃用特性

已删除特性和重大更改

贡献入门

功能请求和反馈

报告错误

修复错误

实现特性

编写文档

向 pytest-dev 提交插件

准备拉取请求

加入开发团队

为下一个补丁版本回传错误修复

处理过时的 issue/PR

关闭 issue

开发指南

赞助商

OpenCollective

企业版 pytest

许可证

联系渠道

历史

历史笔记

标记改造和迭代

cache 插件集成到核心

funcargs 和 pytest_funcarg__

@pytest.yield_fixture 装饰器

[pytest] 在 setup.cfg 中的标题

将标记应用于 @pytest.mark.parametrize 参数

@pytest.mark.parametrize 参数名称作为元组

setup:现在是一个“自动使用夹具”

条件作为字符串而不是布尔值

pytest.set_trace()

“compat”属性

演讲和教程

书籍

演讲和博客文章

发布公告

迪拜有售二手保时捷车型
克格莫皮肤手感排行(克格莫新皮肤)