接口框架项目实战-pytest(一)级别用法 前后置 夹具

本文介绍了Python的pytest框架,包括其用于发现和执行测试用例的方式,支持的特性如断言、报告生成、自动化测试插件(如pytest-html和allure-pytest),以及如何配置和使用pytest进行单元测试、多线程执行、跳过和重试功能。还提到了unittest的比较和pytest与其他工具的结合应用。

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

Python unittest pytest
主要作用:
发现测试用例:从多个py文件看一定规则找到测试用例
执行测试用例:按照一定顺序执行测试用例,并生成结果
pytest 默认从上到下 执行 可以通过装饰器改变顺序
unittest 默认ascii顺序执行
判断测试结果:断言
生成测试报告:pytest-html allure

pytest
基于Python的单元测试框架 可以和selenium requests appium 结合自动化测试
可以实现用例跳过 skip 和失败用例重测 reruns
可以通过allure-pytest 生成allure 报告
方便和Jenkins实现持续集成
有很多强大的插件
pytest-html 生成html报告
pytest-xdist 多线程执行测试用例
pytest-ordering 改变测试用例执行顺序
pytest-rerunfailures 失败用例重跑
allure-pytest 生成allure报告
一次性安装需要的插件
项目根目录新建requirement.txt
文件内容

pytest
pytest-html
pytest-xdist
pytest-ordering 
pytest-rerunfailures
allure-pytest

执行文件

pip install -r requirement.txt

查看安装

#查看所有
pip list 
#查看pytest
pip show pytest

pytest测试用例规则:
模块名必须已test_开头或者_test结尾
测试类必须以Test开头切不能带init方法
测试用例必须以test_开头
命名规范:
模块名一般以全小写多个英文用_隔开
类名一般首字母大写
方法名一般全小写多个英文用_隔开
运行方式:
主函数

import pytest

if __name__ == '__main__':
    pytest.main()

常见参数:
-v 输出更加详细的信息
-s 输出调试信息
可以合并成vs

–reruns=数字 失败重跑次数
-x 失败一次就停止测试
–maxfail=N 失败N次就停止
–html=保存文件地址
-n=N 多线程

-k 执行包含指定关键字的测试用例(可以是模块名、测试类名、方法名)

#-k 可以是模块名、测试类名、方法名
pytest.main(['-v','-s','-k','03 or 01'])

通过node id 执行用例
指定模块执行

import pytest
if __name__ == '__main__':
    pytest.main(['-v','-s','testcases/test_demo2.py'])

执行指定文件夹

import pytest

if __name__ == '__main__':
    pytest.main([<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值