欢迎您访问365答案网,请分享给你的朋友!
生活常识 学习资料

pytest入门

时间:2023-05-24
pytest官网

参考:link

pytest安装

pip install pytest

pytest案例规则

pytest --help 可以查看pytest的帮助文档

C:UsersAdministrator>pytest --help
usage: pytest [options] [file_or_dir] [file_or_dir] […]
运行pytest时可以指定目录和文件,如果不指定,pytest会搜索配置文件testpaths 定义的目录或者当前目录及其子目录中以test_开头或以_test结尾的py文件
[file_or_dir]可以指定文件或者目录

我们把pytest搜索测试文件和测试用例的过程称为测试搜索(test discovery),只要遵守pytest的命名规则,pytest就能自动搜索所有待执行的测试用例,规则如下:
(1)测试文件应当命名为test_.py或者test.py
(2) 测试函数、测试类方法应当命名为test

(3)测试类应当命名为Test,并且不能有__init__方法

pytest命令行参数

-v --verbose increase verbosity 显示详细信息
–collect-only 展示哪些用例会被运行,只展示案例不运行
-k 使用表达式指定需要运行的案例 ,可以使用 or and等
比如:两条测试用例的名字时test_asdict()和test_defaults(),使用–k这参数时
pytest -k “asdict or defaults”
-m 指定标记来运行
测试用例可以使用pytest.mark.mock或者pytest.mark,regression这样的装饰器来标记分组测试用例,使用参数-m就可以选择标记来运行
如,需要运行标记为冒烟阶段的测试用例 pytest -m “mock”
表达式可以使用or and not等
-x 正常情况下,pytest遇到失败或者异常的用例后,还会继续执行下一个用例,如果想让pytest遇到失败用例就停止执行,使用-x这个参数
–maxfail=num -x的选项的特点是,一旦遇到测试失败,就会全局停止,假设你允许pytest失败几次后再停止,就可以使用–maxfail
-s 允许终端在测试运行时输出某些结果,包括任何符合标准的输出信息,比如print的信息
–capture=fd 被写入临时文件
–capture=sys 被输出内存
–lf 当一个或多个测试失败时,定位到上一次的最后一个失败的测试用例重新运行,只执行上一次最后一个失败的用例重新执行

E:JenkinsLearnMy-pytest>pytest --lf======================================================================= test session starts =======================================================================platform win32 -- Python 3.8.5, pytest-6.2.5, py-1.11.0, pluggy-1.0.0rootdir: E:JenkinsLearnMy-pytestplugins: cov-3.0.0collected 1 item run-last-failure: rerun previous 1 failuretesttest_my_add.py F

–ff --failed-first 与–lf作用相同,但是-ff会运行完剩余的测试用例

E:JenkinsLearnMy-pytest>pytest --ff======================================================================= test session starts =======================================================================platform win32 -- Python 3.8.5, pytest-6.2.5, py-1.11.0, pluggy-1.0.0rootdir: E:JenkinsLearnMy-pytestplugins: cov-3.0.0collected 4 items run-last-failure: rerun previous 1 failure firsttesttest_my_add.py F..、

-l --showlocals 使用-l选项,失败测试用例由于被堆栈跟踪,所以局部变量及其只都会显示出来
–tb=style --tb=styl选项决定捕捉到失败时输出信息的显示方式,某个测试用例失败后,pytest会列举出失败信息,包括失败出现在哪一行,是什么失败,怎么失败的,此过程称为“信息回溯”
–tb=no 屏蔽全部回溯信息
–tb=line 显示错误的位置
–tb=short 显示的回溯信息比前面两种模式的跟详细
–tb=long 输出最为祥尽的回溯信息
–version 可以显示当前的pytest版本及安装目录

Copyright © 2016-2020 www.365daan.com All Rights Reserved. 365答案网 版权所有 备案号:

部分内容来自互联网,版权归原作者所有,如有冒犯请联系我们,我们将在三个工作时内妥善处理。