Created
Aug 12, 2024 12:35 AM
Favorite
Favorite
Priority
备注
推荐
🌟🌟🌟🌟🌟
类型
Python
1. 参数化测试
pytest 支持通过 pytest.mark.parametrize 装饰器来对测试函数进行参数化,这样可以减少重复代码并使得测试更易于管理和阅读。
2. 固定测试(fixtures)
fixtures 是 pytest 中非常重要的概念,它们可以让你创建可重用的测试资源。这些资源可以是数据库连接、模拟对象、初始化数据等。
3. 动态生成测试
你可以动态地生成测试用例,这在测试数据集非常大或者需要根据特定条件生成测试用例时非常有用。
4. 插件扩展
pytest 支持大量的插件来扩展其功能,比如 pytest-cov 用于覆盖率分析,pytest-xdist 用于并行执行测试等。
安装 pytest-cov 插件:
运行带有覆盖率报告的测试:
5. 自定义报告
除了基本的文本报告外,还可以使用插件如 pytest-html 来生成 HTML 格式的报告。
安装 pytest-html 插件:
生成 HTML 报告:
6. 捕获日志
pytest 可以捕获和显示日志信息,这对于调试非常有用。
运行测试并显示日志:
7. 嵌套测试
从 pytest 3.6 开始,你可以使用嵌套测试来组织你的测试逻辑。
8. 跳过和标记测试
pytest 提供了 skip 和 xfail 装饰器来标记那些暂时不通过的测试。
9. 指定测试运行顺序
虽然 pytest 默认不会保证测试的执行顺序,但可以通过插件或其他方法来实现这一功能。例如,使用 pytest-ordering 插件可以让你指定测试的执行顺序。
安装 pytest-ordering 插件:
指定测试运行顺序:
10. 模块级和包级的固定测试
除了函数级别的固定测试之外,你还可以定义模块级和包级的固定测试来处理跨多个测试的共享资源。
11. 捕获异常
有时候你需要检查某个操作是否抛出了预期的异常。pytest.raises 上下文管理器可以帮助你完成这个任务。
12. 多进程测试执行
使用 pytest-xdist 插件,你可以并行执行测试以加速测试运行时间。
安装 pytest-xdist 插件:
并行运行测试:
13. 模拟和存根
使用像 unittest.mock 或者第三方库如 pytest-mock 可以方便地模拟对象的行为,这对于隔离测试非常有用。
安装 pytest-mock 插件:
使用 pytest-mock:
14. 动态注册测试
除了动态生成测试用例,你还可以在测试运行时动态注册新的测试函数。
15. 自定义命令行选项
你可以通过 pytest_addoption 函数来自定义命令行选项,以便在运行测试时传递额外的配置。
16. 插入测试
pytest 允许你在测试运行期间插入代码,这对于调试非常有用。
notion image
高级搬砖49
自动化40
自动化测试115
python高级294
测试工程师95
高级搬砖 · 目录
上一篇Python 文件读写(txt、json、xml、ini)下一篇python 常用的10个自动化脚本
Loading...