30-pytest-重复执行用例-pytest-repeat

本文介绍了如何使用pytest-repeat插件来重复执行Python测试用例。通过pip安装插件后,可以使用--count参数指定重复次数,--repeat-scope参数设置重复范围(如session、module、class或function)。此外,还可以利用@pytest.mark.repeat装饰器标记重复执行次数,以及使用-x参数来重复测试直到失败,帮助定位偶发性问题。
摘要由CSDN通过智能技术生成


前言

  • 本来学习下重复执行用例pytest-repeat插件的使用

安装插件

  • 用于重复执行单个用例,或多个测试用例,并指定重复次数
pip install pytest-repeat

–count

  • 指定重复次数

使用示例

# -*- coding: utf-8 -*-
# @Time    : 2022/3/23
# @Author  : 大海


import os


def test_1():
    a = 1 + 2
    assert a == 3


def test_2():
    a = 2 + 2
    assert a == 4



if __name__ == '__main__':
  	# --count 2 重复运行两次
    os.system('pytest -s -v test_55.py --count 2')
  • test_1 运行两次后运行test_2 两次
    在这里插入图片描述

–repeat-scope

  • 类似于pytest fixture的scope参数,–repeat-scope也可以设置参数: session , module,class或者function(默认值)
  • function(默认)范围针对每个用例重复执行,再执行下一个用例
  • class 以class为用例集合单位,重复执行class里面的用例,再执行下一个
  • module 以模块为单位,重复执行模块里面的用例,再执行下一个
  • session 重复整个测试会话,即所有收集的测试执行一次,然后所有这些测试再次执行等等

使用示例

# -*- coding: utf-8 -*-
# @Time    : 2022/3/23
# @Author  : 大海


import os


def test_1():
    a = 1 + 2
    assert a == 3


def test_2():
    a = 2 + 2
    assert a == 4


if __name__ == '__main__':
	# --repeat-scope=session  重复执行整个会话用例
    os.system('pytest -s -v test_55.py --count 2 --repeat-scope=session')

mark.repeat

  • @pytest.mark.repeat(count)装饰器 标记重复执行次数

使用示例

# -*- coding: utf-8 -*-
# @Time    : 2022/3/23
# @Author  : 大海
import os

import pytest
import time


def test_01():
    a = 1 + 2
    assert a == 3


@pytest.mark.repeat(2)
def test_02():
    a = 2 + 2
    assert a == 4


if __name__ == "__main__":
    os.system('pytest -s -v test_56.py')

重复测试直到失败

*-x 参数,复现偶现问题重复执行100次,直到失败

pytest  -s -v test_55.py --count 100 -x
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爱学习de测试小白

你的鼓励将是我创作的最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值