背景:
大多数公司使用pytest来进行服务端接口用例的管理,接下来跟随我去开启pytest之旅吧!
pytest简介
基于python的单元测试框架,修饰符功能强大,用例跳过skip和reruns失败用例重跑
,它可以结合allure-pytest插件生成allure报告,CI持续集成的快速接入,如jenkins
环境安装
在命令行中运行以下安装命令 :
pip install pytest
检查安装是否成功以及安装的版本,命令行命令如下:
pytest --version
将会输出版本信息,如
pytest 7.2.0
那就说明安装成功啦。
默认的用例识别规则
1.模块名(py文件)必须以test_开头或者_test结尾
2.测试类必须以Test开头,并且不能带有init方法
3.测试用例必须以test_开头
命令规范:
模块名:一般全小写,多个英文之间用_隔开。
类名:类名一般是首字母大写
方法名:一般全小写,多个英文之间用_隔开
如何运行pytest
1.主函数方式
import pytest if __name__ == '__main__': pytest.main(['‐vs','testcases/test_mycase.py']) #指定模块运行 pytest.main(['‐vs','testcases/']) #指定文件夹运行 pytest.main(['‐vs','
testcases/test_mycase.py::TestMycaseApi::test_get_user_by_id']) #指定用例运行
参数说明:
-v:输出更加详细的信息。比如文件和用例名称等
-s:输出调试信息。打印信息等
--reruns 数字:失败重跑
-x:出现1个失败就停止测试
--maxfail=N 出现N个失败就终止测试
--html=report.html 生成html的测试报告
-n:多线程
-k:运行测试用例名称中包含指定字符串的用例
2.命令行运行方式
pytest -vs testcases/test_mycase.py
3.通过pytest.ini的配置文件运行
pytest.ini如何使用,可以使用
pytest -h
命令查看pytest.ini的设置选项
今天就分享到这啦,pytest还有非常多有趣好玩强大的功能等着我们去探索,去挖掘,我们拭目以待!