码迷,mamicode.com
首页 > 其他好文 > 详细

pytest知识梳理

时间:2021-05-24 12:44:36      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:pat   assert   单位   run   方式   用例   span   工作   收集   

pytest:基于unittest之上的单元测试框架

  • 1、自动发现测试模块的测试方法
  • 2、断言使用assert + 表达式即可
  • 3、可以设置会话级、模块及、类级、函数级的fixtures,用来做数据准备+清理工作
  • 4、丰富的插件库,例如allure

安装命令:

pip install pytest

安装html报告插件

pip install pytest-html

pytest插件地址:https://docs.pytest.org/en/latest/reference/plugin_list.html

 

一、pytest收集测试用例的规则

1、默认从当前目录中搜集测试用例,即在哪个目录下运行pytest命令,则从哪个目录当中搜索;

2、搜索规则:

  • 符合命名规则test_*.py或者*_test.py的文件
  • 以Test开头的测试类(没有__init__函数)当中,以test_开头的函数
  • 以test_开头的函数名

二、pytest -mark

对测试用例打标签,在运行测试用例的时候,可根据标签名来过滤要运行的用例

使用方法:

在测试用例/测试类前面加上:@pytest.mark.标签名


 

 

 

表示此函数为测试环境数据的准备和清理

在一个fixture内部如何区分环境准备、环境清理呢?

可以在函数内部使用yield关键字

yield关键字以后的代码,就是环境清理的代码,即在测试用例执行完成之后会执行的代码

 

四、pytest中数据驱动参数化

在测试用例的前面加上@pytest.mark.parametrize(‘参数名‘,列表数据)

参数名:用来接收每一项数据,并作为测试的参数

列表数据:一组参数化测试数据

 

五、pytest失败重运行机制

插件名称:rerunfaukures

安装方法:pip install pytest-rerunfailures

使用方式:命令行参数形式

命令:pytest --reruns 重试次数

比如:pytest --reruns  2 表示运行失败的用例可以重新运行2次

命令:pytest --reruns 重试次数 --reruns-delay 次数之间的延时设置(单位秒)

pytest --reruns 2 --reruns-delay 5

失败的用例重新运行2次,时间间隔为5秒

六 、pytest-html测试报告

安装pytest-html插件

pytest可以生成多种样式的结果

1、生成JunitXML格式的测试报告,命令: --junitxml=path

2、生成result log格式的测试报告,命令:--resultlog=report\log.txt

3、生成html测试报告,命令:--html=report\report.html

 

注意:pytest使用命令行执行命令的时候,如果需要打印print信息,需要添加-s参数

 

pytest知识梳理

标签:pat   assert   单位   run   方式   用例   span   工作   收集   

原文地址:https://www.cnblogs.com/sgfg-1314/p/14773975.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!