unittestreport 详细功能使用文档(V1.1.1)

前言

关于 unittestreport 最初在开发的时候,只是计划开发一个 unittest 生成 HTML 测试报告的模块,所以起名叫做 unittestreport。在开发的过程中结合使用的小伙伴的一些反馈,所以慢慢的扩展了更多的功能进去。之前在写 unittestreport 的时候,也陆续写了几遍关于 unittestreport 相关功能的使用,每次都是一个特定的功能,这边给出一遍系统的使用文档来给大家介绍一下 unittestreport 的功能。

一、HTML 测试报告生成

unittestteport 中封装了一个 TestRunner 类,可以用来代替 unittest 中的 TextTestRunner 来执行测试用例,执行完测试用例之后会自动生成测试报告。并且有多种报告风格可选

from unittestreport import TestRunner
runner = TestRunner(test_suite)
runner.run()

二、测试用例失败重运行

关于unittest重运行机制,unittestreport中提供了两种方式

三、邮件发送测试报告

unittestreport 内部实现了发生测试结果到邮箱的方法,执行完测试用例之后调用发送测试报告的方法即可。发邮件的方法介绍:TestRunner 类中实现了 send_email 方法,可以方便用户,快速发送邮件。

1598866521882.png

四、数据驱动的使用

关于数据驱动这边就不给大家做过多的介绍了,数据驱动的目的是将测试数据和用例逻辑进行分离,提高代码的重用率,以及用例的维护,关于数据驱动本,unittestreport.dataDriver 模块中实现了三个使用方法,支持使用列表(可迭代对象)、JSON 文件、YAML 文件来生成测试用例,接下来分别给大家介绍一下使用方法:

五、发送测试结果到钉钉

关于把如果测试结果发送到钉钉群,unittestreport里面进行了封装。执行完用例之后,调用TestRunner对象的dingtalk_notice方法即可。
import unittest
from unittestreport import TestRunner

# 收集用例到套件
suite = unittest.defaultTestLoader.discover(CASE_DIR)
runner = TestRunner(suite)
# 执行用例
runner.run()

url = "https://oapi.dingtalk.com/robot/send?access_token=6e2a63c2b9d870ee878335b5ce6d5d10bb1218b8e64a4e2b55f96a6d116aaf50"
# 发送钉钉通知  
runner.dingtalk_notice(url=url, key='钉钉安全设置的关键字',secret='钉钉安全设置签名的秘钥')

# 备注:关于钉钉群机器人的创建大家可以去看钉钉开放平台上的教程,关键字和秘钥,根据创建钉钉机器人时设置的去添加,没有设置就不需要传这个参数。
3 回帖
请输入回帖内容 ...
  • mrw

    木森老师,这边 YAML 文件的内容格式只能按照你上面写的那种吗,我写的时候其他格式取出来的数据有问题

  • 其他回帖
  • tingwu
    该回帖仅作者和楼主可见
  • tingwu

    换成木森老师的报告,瞬间觉得 HTMLTestRunner 生成的太 low 了。。。