flaky

pytest失败重跑插件: pytest-rerunfailures使用与坑(全网独家精华)

泪湿孤枕 提交于 2021-01-29 15:42:09
背景 在编写接口case的时候,我们常遇到一个这样的问题: 测试环境不稳定偶发接口超时(和服务无关,纯粹是环境问题),然后执行接口case也因此偶发失败。比如同一个接口case跑五次,其中有两次失败,另外三次都是成功的,这种偶发性的环境问题就需要我们手动重跑(还不一定能够通过)。有没有一个比较好的机制,保证case能够尽最大努力通过测试呢? 这里我们介绍pytest的一个失败重跑插件: pytest-rerunfailures 介绍 pytest-rerunfailures 是一个通过重跑机制来消除不稳定失败的pytest插件。 项目地址:https://github.com/pytest-dev/pytest-rerunfailures 安装 安装&运行要求: Python 3.6~3.9, or PyPy3 pytest 5.0+ 安装插件 sudo pip(pip3) install pytest-rerunfailures 使用pytest-rerunfailures 使用方式有两种: 命令行参数 装饰器方式 命令行参数模式 示例case:test_demo.py #!/usr/bin/env python3#!coding:utf-8import pytestimport randomdef test_simple_assume(): #每次case运行的值为1或者2