• unittest用例失败重运行,解决方案


    很多测试朋友一直在诟病 unittest,说 unittest 相对 pytest 来说太鸡肋了,pytest 中提供了很多高级功能 unittest 中都没有。

    在这里还是想为 unittest 打抱不平一下,unittest 是由 python 官方维护的官方库,官方库都是比较轻量级的,本身只实现核心的一些功能,肯定不会像 pytest 这些第三库一样根据需求,去开发一些定制的功能。

    其实 unittest 也有自己的优势,学习成本低,使用起来简单也易上手。目前还是有很多测试的小伙伴在使用的,于是前段时间在网上看了下,有大牛在 unittest 的基础上扩展开发第三方库 unittestreport,为 unittest 开发一些常用的扩展功能,来弥补 unittest 的不足。

    目前实现的功能有:多种风格 HTML 测试报告生成、多线程运行、用例失败重跑、数据驱动、命令行启动执行测试等功能

    unittestreport 的安装:

    pip install unittestreport

    前段时间实现了第一个版本,unittest 生成 HTML 测试报告,以及 unittest 用例多线程运行机制,最近看到又优化了 unittestreport 的一个版本(1.0.9 版本),实现了 unittest 用例失败重运行的机制,那么接下来就给大家介绍一下如何使用 unittest 用例失败重运行机制。

    一、unittest 用例重运行

    关于 unittest 重运行机制,在 unittestreport 中提供了两种方式,第一种选择单个测试用例实现重运行,可以自己去标记失败需要重运行的测试用例,第二种是针对运行的所有的测试用例,只要运行失败的用例就会重运行改用例。那么接下来分别给大家介绍这两个功能的使用。

    单个用例重运行

    如果像标记单个测试用例失败重运行,可以直接使用 unittestreport 中的 rerun 来标记测试用例,rerun 接收两个参数 count,和 interval。

    count:用来指定用例失败重运行的次数

    interval:指定每次重运行的时间间隔

    下面有三个测试用例,其中有一个 test_case_01 使用了 rerun 进行了标记,设置的失败重运行次数为 4 次,每次间隔的时间 2 秒。

    运行上述用例

    生成测试报告如下图,可以看到第一条测试用例运行了三次:

    全部用例失败重跑机制

    关于所有的测试用例失败重跑,unittestreport 中提供了一个更为简单的使用入口,直接使用 unittestreport 中 TestRunner 对象的 rerun_run 方法即可实现所有的用例失败重运行,rerun_run 同样有两个参数,count 和 interval。

    count:用来指定用例失败重运行的次数

    interval:指定每次重运行的时间间隔

    测试用例如下:

    使用 unittestreport 的重运行机制,运行上述用例

    执行测试报告如下图,可以看到两个失败的用例,都重复运行了三次:

  • 相关阅读:
    linux在线安装jdk,tomcat,Nginx
    SpringAOP的实现方式
    Spring整合Mybatis
    基本sql语句
    解决No module named 'sklearn.cross_validation'
    虚拟机中安装redhat8操作系统
    【Linux命令】tcpdump抓包工具
    【Nodejs】Linux系统搭建Nodejs
    【SSL证书配置】tomcat实现SSL证书访问
    【SSL证书配置】腾讯云申请ssl证书,nginx+tomcat配置ssl证书
  • 原文地址:https://www.cnblogs.com/Wl55387370/p/13878620.html
Copyright © 2020-2023  润新知