unittestreport 之 unittest 用例失败重运行机制

unittestreport 之 unittest 用例失败重运行机制

前言

很多小伙伴一直在诟病 unittest,说 unittest 相对 pytest 来说太鸡肋了,pytest 中提供了很多高级功能 unittest 中都没有。在这里还是想为 unittest 打抱不平一下,unittest 是由 python 官方维护的官方库,官方库都是比较轻量级的,本身只实现核心的一些功能,肯定不会像 pytest 这些第三库一样根据需求,去开发一些定制的功能。其实 unittest 也有自己的优势,学习成本低,使用起来简单也易上手。目前还是有很多测试的小伙伴在使用的,于是前段时间小编想了想,决定在 unittest 的基础上扩展开发第三方库 unittestreport,为 unittest 开发一些常用的扩展功能,来弥补 unittest 的不足。目前准备实现的功能有:多种风格 HTML 测试报告生成、多线程运行、用例失败重跑、数据驱动、命令行启动执行测试等功能(ps:大家可以可以留言提需求哦)

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

一、unittest 用例重运行

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

单个用例重运行

import unittest
from unittestreport import rerun

class TestClass(unittest.TestCase):
    @rerun(count=4, interval=2)
    def test_case_01(self):
        a = 100
        b = 99
        assert a == b
  
    def test_case_02(self):
        a = 100
        b = 100
        assert a == b
  
    def test_case_03(self):
        a = 100
        b = 101
        assert a == b

1597909630255.png

全部用例失败重跑机制

1597911111703.png

关于 unittestreport 重运行用例,就给大家介绍到这里。

2 回帖
请输入回帖内容 ...
  • HanBai

    木森老师开发的: unittestreport.TestRunner

  • 其他回帖
  • silence

    这个测试报告引用的哪个啊

    1 回复