你们想要的unittest用例失败重运行,解决方案来啦!

发布于 更新于
本文目录
  1. 前言
  2. 一、unittest 用例重运行
  3. 全部用例失败重跑机制

技术文章

前言很多小伙伴一直在诟病 unittest,说 unittest 相对 pytest 来说太鸡肋了,pytest 中提供了很多高级功能 unittest 中都没有。在这里还是想为 unittest 打抱不平一下,unittest 是由 py...

前言

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

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

其实 unittest 也有自己的优势,学习成本低,使用起来简单也易上手。目前还是有很多测试的小伙伴在使用的,于是前段时间小编想了想,决定在 unittest 的基础上扩展开发第三方库 unittestreport,为 unittest 开发一些常用的扩展功能,来弥补 unittest 的不足。
目前准备实现的功能有:多种风格 HTML 测试报告生成、多线程运行、用例失败重跑、数据驱动、命令行启动执行测试等功能(ps:大家可以可以留言提需求哦)

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 的重运行机制,运行上述用例

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

关于 unittestreport 重运行用例,就给大家介绍到这里。
说明:本文为柠檬班木森老师原创,转载需注明出处

需要更多软件测试岗位信息以及学习资料的都欢迎加微信13327216815,备注:官网,还可获取免费测试学习视频干货资料哦!


继续阅读