Pytest
文章目录
Exception assert
参考:
方法:
| |
注意:
- 用于捕获单个 Exception
exception 文本匹配
解说:
- 使用 match 关键字参数
匹配对象
- 文本
- 正则
| |
直接传入函数和参数,不适用 with 语句
有参数
| |
无参数
| |
数据驱动
通过 csv 文件传入测试参数
参考:
例子:
- 单个参数
| |
- 多个参数
| |
报告 report
命令行
| |
html
| |
monkeypatch 猴子补丁
参考:
- monkey patch(猴子补丁)_LYH Bank的博客-CSDN博客_monkey patch
- pytest monkeypatch: How to monkeypatch/mock modules and environments — pytest documentation
用途:
- mock python 对象的属性
例子:
- 模块下的
变量mock - 模块下的
类mock - 类的
方法mock - 类的
字段mock
- 模块下的
用例:
mock 文件的内容
通过 Path.read_text 方法的 mock 来改变读取的内容
1 2 3 4 5 6 7 8 9 10 11 12 13from pytest import MonkeyPatch def test_file_content(): mock_content = 'this is the content' def mock_read_text(self, *args, **kwargs): return mock_content with MonkeyPatch() as m: from pathlib import Path assert 'content' in Path('/data/demo.txt').read_text()这里通过修改 Path 类的 read_text 方法,来 mock 文件读取的内容。
pytest 与 依赖注入(DI)、控制反转(IoC)
文章作者
上次更新 2024-01-05 (b2a2a64)