pytest学习

本文详细介绍了pytest自动化测试框架的使用,包括默认搜索规则、命令行参数、测试报告生成等。重点讲解了setup和teardown的scope设置,以及如何通过conftest.py进行全局管理。还提到了pytest的标记机制,用于对测试用例进行分类和筛选,并展示了如何通过pytest.ini配置文件优化测试执行。最后,演示了如何生成HTML测试报告并定制输出内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.pytest默认寻找当前路径下的所有的文件与子文件夹以test开头或者test结尾的文件夹、文件、函数作为识别对象

2.pytest默认不输出任何打印信息,如果要看打印信息,加-s

3.多条指令一同运行时,需要通过空格进行区分,在main函数中,通过,进行区分

if __name__ == '__main__':

        pytest.main(['-s','-v'])

4.-v 日志输出,-q: 安静模式, 不输出环境信息

5.-rA 测试结果的简单统计

6.pytest中的setup和teardown:一般可以通过一个配置文件进行管理,文件名为conftest.py

scope参数定义4种等级,默认为function:

session:在本次session级别中只执行一次

module:在模块级别中只执行一次

class:在类级别中只执行一次

function:在函数级别中执行,每有一个函数执行一次

类外边写def setup_function(),类里边写def setup().同理teardown

在class中前置后置函数的运行顺序:setup class,setup method,setup,teardown,teardown method,teardown class

7.mark.可以通过mark装饰圈对所有的用例进行标记,不同的标记区分进行管理

@pytest.mark.标签名。在多个文件里都可以生效

运行时命令里添加 -m 标签名,标签名(支持多个标签)

在项目的根目录里添加pytest.ini文件,里边维护markers所有标签,可以消除用mark标签的警告

8.在pytest.ini中,配置

#定义pytest识别文件名,类名,函数
python_files = ceshi*.py test*.py
python_classes=Ceshi*
python_functions = test* 
#定义pytest运行路径
testpaths=test_demo
#运行测试用例输出结果更加全面
log_cli=True
#添加配置项,命令执行时就不需要加-s -v等
addopts=-s -v

9.pytest生成测试报告 pytest --html=./report/report.html --self-contained-html

--self-contained-html:这样导出来的报告样式集成到html里了

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值