首页 > 其他分享 >pytest简易教程(27):pytest常用插件 - 失败重试(pytest-rerunfailures)

pytest简易教程(27):pytest常用插件 - 失败重试(pytest-rerunfailures)

时间:2024-02-23 22:35:04浏览次数:34  
标签:delay 插件 27 -- 重试 pytest reruns test

 

pytest简易教程汇总,详见https://www.cnblogs.com/uncleyong/p/17982846

关于插件

pytest有很多第三方插件:https://docs.pytest.org/en/latest/reference/plugin_list.html#plugin-list

总共1300多个,一般最近1年内有更新的都是常用的。

 

使用场景

针对运行不通过的用例运行重新运行最多指定次,这样可以排除网络等不稳定因素

 

插件安装

pip install pytest-rerunfailures

 

使用方式一:命令行参数(作用全局)

参数:

  --reruns n,表示运行不通过,最多重试次数;必填

  --reruns-delay m,表示重试前等待秒数;可选参数

命令:

  pytest --reruns n

  或者pytest --reruns=n

 

参数也可以放配置文件中:

[pytest]
addopts = -vs --reruns=2

作用于所有测试用例

 

示例

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Author : 韧
# @wx :ren168632201
# @Blog :https://www.cnblogs.com/uncleyong/

def test_b():
    print("---test_b")
    assert 1 == 1

def test_a():
    print("---test_a")
    assert 1 == 2

  

重试2次的结果:

 

重试2次,每次重试前等待5s的结果:下面总共耗时10.18秒

 

使用方式二:修饰器(作用局部)

@pytest.mark.flaky(reruns=m, reruns_delay=n)

reruns和reruns_delay含义同上面

可以放在函数、方法、类上,仅作用于修饰器范围内

 

示例

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Author : 韧
# @wx :ren168632201
# @Blog :https://www.cnblogs.com/uncleyong/

import pytest
def test_b():
    print("---test_b")
    assert 1 == '1'

@pytest.mark.flaky(reruns=2, reruns_delay=5)
def test_a():
    print("---test_a")
    assert 1 == 2

  

结果:仅被修饰器修饰的函数失败了会重试

 

全局和局部同时存在重试配置

配置文件

[pytest]
addopts = -vs --reruns=1 --reruns-delay=3

  

用例代码

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Author : 韧
# @wx :ren168632201
# @Blog :https://www.cnblogs.com/uncleyong/

import pytest
def test_b():
    print("---test_b")
    assert 1 == '1'

@pytest.mark.flaky(reruns=2, reruns_delay=5)
def test_a():
    print("---test_a")
    assert 1 == 2

 

结果:配置就近原则,test_a应用的装饰器中重试配置,test_b应用的是配置文件中配置,所以总共耗时13.3秒

 

当然,也可以用命令行参数

pytest case\test_qzcsbj.py -vs --reruns=1 --reruns-delay=3

 

标签:delay,插件,27,--,重试,pytest,reruns,test
From: https://www.cnblogs.com/uncleyong/p/17957416

相关文章

  • 全志T527国产核心板及米尔配套开发板批量上市!
    2023年12月,米尔电子联合战略合作伙伴全志科技,率先业内发布了国产第一款T527核心板及开发板。这款高性能、高性价比、八核A55的国产核心板吸引了广大客户关注,为积极响应客户需求,米尔基于全志T527核心板现已批量上市,欢迎垂询! 图:米尔国产核心板-第一款全志T527核心板 全志T52......
  • 创纪录:英伟达市值一日增 2770 亿美元;Xiaomi 14 Ultra 正式发布丨 RTE 开发者日报 Vol.
       开发者朋友们大家好: 这里是「RTE开发者日报」,每天和大家一起看新闻、聊八卦。我们的社区编辑团队会整理分享RTE(RealTimeEngagement)领域内「有话题的新闻」、「有态度的观点」、「有意思的数据」、「有思考的文章」、「有看点的会议」,但内容仅代表......
  • windows11系统下ppt突然打不开,报错“PowerPoint启动时提示上次启动失败是否启用安全模
    问题描述:windows11系统下ppt突然打不开,报错:PowerPoint启动时提示上次启动失败是否启用安全模式...ppt文件是正常的,我发到其他设备上是可以正常打开的。我把office卸载了用腾讯文档也无法打开ppt文件。点击用安全模式打开后无反应,即无错误提示也没有打开ppt。以上情况说明:......
  • 使用通义灵码插件提高开发效率
    目录概述功能特性安装准备工作VSCode安装IDEA安装使用指南续写代码代码注释写单元测试解释代码含义优化代码问答排查异常总结引用概述通义灵码是阿里云开发的一个编码助手,基于AI大模型,提供代码智能生成,智能问答等功能,旨在加快编码,提高开发效率。功能帮你续写代码帮你写代码......
  • 查询pytest --version报错 AttributeError: module ‘collections‘ has no attribute
     卸载pytest及关联的插件先查询一下pytest及对应关联的插件 pipuninstallcoloramaexceptiongroupiniconfigpackagingpluggytomliallure-pytestpytest-allure-adaptorpytest回车,每次都回复Y,同意卸载 再重新安装pytestpipinstallpytest-ihttp://pypi.douba......
  • vue3+vite 移动端适配postcss-pxtorem插件
    1、安装插件npmipostcss-pxtorem-D2、与package.json同级目录创建postcss.config.js文件module.exports={plugins:{autoprefixer:{overrideBrowserslist:["Android4.1","iOS7.1",......
  • 开发 Gradle 插件
    目录开发Gradle插件基础知识自定义插件扩展属性扩展Task开发Gradle插件基础知识Gradle中的Plugin是对完成指定功能的Task封装的体现,只要工程依赖了某个Plugin,就能执行该Plugin中所有的功能。插件的应用都是通过Project的apply方法完成的。插件分为二进制插......
  • M1 MacOS 配置C++环境时遇到的插件问题
    配置环境参照博客:https://www.cnblogs.com/BYGAO/p/15135609.html遇到问题:在Terminal--ConfigureDefaultBuildTasks--C/C++clang++这一步没有C/C++clang++选项。解决方法:shift+command+p打开搜索框,搜索SettingsSync:ShowSettings在IgnoredExtensions中打......
  • 代码随想录算法训练营day02 | leetcode 977. 有序数组的平方、35.搜索插入位置、34.在
    题目链接:977.有序数组的平方-简单题目描述:给你一个按非递减顺序排序的整数数组nums,返回每个数字的平方组成的新数组,要求也按非递减顺序排序。示例1:输入:nums=[-4,-1,0,3,10]输出:[0,1,9,16,100]解释:平方后,数组变为[16,1,0,9,100]排序后,数组变为[0,1,9,16,100]......
  • 微星MPG 271QRX QD-OLED评测:显示器中的顶级旗舰 三大色域满分更全能
    一、前言:微星带来旗舰QD-OLED显示器解决文字清晰度较差的问题CES国际消费电子展,可以说是科技巨头争奇斗艳的舞台,在CES2024微星在展会上,就为消费者带来了多个PC设备,也荣获了“游戏&电竞”和”计算机周边&配件”类创新奖。其中最值得关注的,就是使用了全新技术的QD-OLED系列显示......