Pytest-工作原理
介绍
pytest 是 Python 的一个测试框架.
其会自动搜寻测试文件和函数, 并在 assert
出错时会显示更详细的信息.
安装
1 |
|
简单示例
pytest
会递归查找目录下所有 test_*.py
或 *_test.py
文件并运行其中以 test
开头的函数, 收集其报错信息. 其也会查找以 Test
开头的类之下以 test
开头的方法.
1 |
|
然后运行:
1 |
|
输出如:
基本使用
指定测试文件/函数
指定文件:
1 |
|
指定目录:
1 |
|
指定函数:
1 |
|
指定函数以及参数:
1 |
|
指定类:
1 |
|
指定类下的方法:
1 |
|
从文件读取参数列表:
1 |
|
tests_to_run.txt
的文件内容为:
1 |
|
报告测试结果
assert
最简单的方法是用 assert
函数的测试结果. 如:
1 |
|
expected exceptions
通过捕获 exceptions
来报告, 是用 pytest.raises()
来指定包捕获的类型, 如:
1 |
|
指定外部模块位置
借助 PYTHONPATH
环境变量, 其用于指定 Python 解释器在导入模块时查找模块的路径, 如:
1 |
|
测试某函数是否引发某异常
如:
1 |
|
其测试 f()
函数是否引发了 SystemExit
类型错误.
若引发了, 则会 pass
, 如:
若没引发, 则会 fail
, 如:
Pytest-工作原理
http://example.com/2024/09/02/Pytest-工作原理/