pytest中的重试和超时 pytest-rerunfailures @pytest.mark.flaky(reruns=2)

首先安装pytest-rerunfailures插件,之后加上注解@pytest.mark.flaky(returns=2)

reruns:代表 当case 执行失败的时候 回溯失败case的次数
reruns_delay : 代表 回溯case的 间隔时间

如果不是服务器或者程序自身并发限制导致的问题 而是case本身的问题 也会rerun

import random
import pytest


class TestDDD:

    # reruns:代表 当case 执行失败的时候 回溯失败case的次数
    # reruns_delay : 代表 回溯case的 间隔时间
    # 如果不是服务器或者程序自身并发限制导致的问题 而是case本身的问题 也会rerun
    @pytest.mark.run(order=1)
    @pytest.mark.flaky(reruns=2, reruns_dalay=4)
    def test_demo1(self):
        assert 3 == 3

    @pytest.mark.run(order=2)
    @pytest.mark.flaky(reruns=2)
    def test_demo2(self):
        assert 3 == 4

    @pytest.mark.run(order=3)
    @pytest.mark.flaky(reruns=2)
    def test_demo3(self):
        y = random.randrange(4, 8)
        print("\n此次随机的值是{}".format(y))
        assert y == 5
        # assert 5 == 7

  

posted @ 2020-10-28 16:30  巴黎爱工作  阅读(863)  评论(0)    收藏  举报