单元测试|unittest生成测试报告

这篇具有很好参考价值的文章主要介绍了单元测试|unittest生成测试报告。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

unittest生成测试报告

测试报告为测试结果的统计即展示,是自动化测试不可或缺的一部分,利用unittest 可以生成测试报告。

使用第三方 HTMLTestRunner 执行测试用例集,生成网页版测试报告

HTMLTestRunner是Python标准库的unittest模块的一个扩展,在使用该模块之前 要下载HTMLTestRunner.py文件,并将该文件保存在python安装路径下的lib文件夹或者 是项目的子包中,在python代码中通过 import HTMLTestRunner导入,即可使用。

HTMLTestRunner常用参数介绍:

  • stream: 配置测试报告要保存的文件路径
  • title:测试报告标题
  • description: 测试报告的描述信息

代码示例:

# 使用discover()来实现添加执行整个目录下所有的测试用例
import os
import unittest
import HTMLTestRunner
import time

# 获取当前路径
curren_path = os.path.dirname(__file__)
# 获取测试用例目录的路径
case_path = os.path.join(curren_path,"all_case")

# 从当前路径回到上一层路径
# case_path = os.path.abspath(os.path.dirname(os.path.dirname(__file__)))

# 匹配测试用例路径下的所有的测试方法
discover = unittest.defaultTestLoader.discover(start_dir=case_path,  # 用例路径
                                               pattern="*_case*.py",
                                               top_level_dir=None)   # 文件类型
# 创建主套件
main_suite = unittest.TestSuite()
# 把测试用例路径添加到主套件中
main_suite.addTest(discover)
# 执行主套件里的测试用例;如果要生成测试报告,则不通过unittest.main()方法执行
# unittest.main(defaultTest="main_suite",verbosity=2)


# 执行并生成测试报告
# 加个时间戳
now = time.strftime("%y-%m_%d_%H_%M_%S_",time.localtime(time.time()))
# 创建html类型测试报告对象,将执行的过程写入到file_obj中
file_obj = open("D:/pythonProject/P7_P8_Requests/"
                "unittest框架/test_report/"
                "{}test_report.html".format(now),"w+",encoding="utf-8")
# 创建配置html测试报告的相关信息的对象
runner = HTMLTestRunner.HTMLTestRunner(stream=file_obj,
                                       title="第一次的测试报告",
                                       description="我是测试报告的描述信息")
# 生成html测试报告;如果要生成测试报告,则不通过unittest.main()方法执行
runner.run(main_suite)

查看执行结果

单元测试|unittest生成测试报告

配置详细的html测试报告

在测试用例中加上注释信息,即可在html报告中体现,能更好的展示每个用例的信息

一、通过添加 3对双引号:“”“内容”“”

通过在类的下面添加 3对双引号 “”“测试类01的详细信息”“”;在测试方法下面添加 3对双引号 “”“test_aaa方法的详细信息”“”;如下图:

单元测试|unittest生成测试报告

在生成的测试报告中可更好的展示每条用例的作用

单元测试|unittest生成测试报告

二、只在测试方法中添加

self._testMethodName=设置测试用例名称
self._testMethodDoc=设置测试用例详情

注:上方下划线只有一个

在测试用例方法中添加注释信息;如下图

单元测试|unittest生成测试报告

查看生成的测试报告

单元测试|unittest生成测试报告

通过TextTestRunner()方法生成text类型的测试报告

代码示例如下:

# 使用discover()来实现添加执行整个目录下所有的测试用例
import os
import unittest
import HTMLTestRunner
import time

# 获取当前路径
curren_path = os.path.dirname(__file__)
# 获取测试用例目录的路径
case_path = os.path.join(curren_path,"all_case")

# 从当前路径回到上一层路径
# case_path = os.path.abspath(os.path.dirname(os.path.dirname(__file__)))

# 匹配测试用例路径下的所有的测试方法
discover = unittest.defaultTestLoader.discover(start_dir=case_path,  # 用例路径
                                               pattern="*_case*.py",
                                               top_level_dir=None)   # 文件类型
# 创建主套件
main_suite = unittest.TestSuite()
# 把测试用例路径添加到主套件中
main_suite.addTest(discover)
# 执行主套件里的测试用例;如果要生成测试报告,则不通过unittest.main()方法执行
# unittest.main(defaultTest="main_suite",verbosity=2)


# 生成text类型的测试报告
with open('./report/test_result.txt','w',encoding='utf-8') as file:
    test_runner = unittest.TextTestRunner(stream=file,descriptions="执行用例的测试报告", verbosity=2)
    test_runner.run(main_suite)

查看执行结果

单元测试|unittest生成测试报告

更多技术文章文章来源地址https://www.toymoban.com/news/detail-483933.html

到了这里,关于单元测试|unittest生成测试报告的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Unittest单元测试之unittest用例执行顺序

    当在一个测试类或多个测试模块下,用例数量较多时,unittest在执行用例 (test_xxx)时,并不是按从上到下的顺序执行,有特定的顺序。 unittest框架默认根据ACSII码的顺序加载测试用例,数字与字母的顺序为: 0~9,A~Z,a~z。 对于类来说,class TestAxx 会优先于class TestBxx被执行。

    2024年02月13日
    浏览(28)
  • 单元测试、集成测试、功能测试——Unittest

     颗粒度最小,一般由开发小组采用白盒方式来测试,主要测试单元是否符合“设计”;是指 对软件中的最小可测试单元进行检查和验证  介于单元测试和系统测试之间,一般由开发小组采用白盒+黑盒的方法来测试,即验 证“设计”又验证“需求”。主要用来测试模板与模

    2023年04月08日
    浏览(30)
  • [Python]unittest-单元测试

    目录 unittest的大致构成: Test Fixture Test Case-测试用例 Test Suite-测试套件 Test Runner 批量执行脚本 makeSuite() TestLoader discover() 用例的执行顺序 忽略用例执行 skip skipIf skipUnless 断言 HTML测试报告 错误截图 unittest是python中的单元测试框架 大致作用: 提供用例的组织与执行-组织大量的测

    2024年02月08日
    浏览(26)
  • unittest单元测试

    当你在编写测试用例时,可以使用Python内置的 unittest 模块来进行单元测试。下面是一个逐步指南,帮助你理解如何编写和运行基本的单元测试。 导入必要的模块 : 首先,你需要导入 unittest 模块和需要测试的模块(例如,你的 app.py )以及可能需要的其他模块。 import unitte

    2024年02月13日
    浏览(27)
  • 单元测试框架:unittest入门

    1、TestCase(测试用例): 一个testcase的实例就是一个测试用例 ;unittest 中执行测试的最小单元,通过验证 unittest 提供的 assert 方法来验证一组特定的操作和输入以后得到的响应;unittest 提供了一个名为 TestCase 的基础类,可以用来创建测试用例; 2、TestSuite(测试套件): 多

    2024年02月09日
    浏览(27)
  • UnitTesting 单元测试

      1.1 Unit Test : 单元测试   - test the business logic in your app : 测试应用中的业务逻辑   1.2 UI  Test :  界面测试   - test the UI of your app : 测试应用中的界面   1.3 测试书籍网址: 《Testing Swift》 https://www.hackingwithswift.com/store/testing-swift   2.1 创建 ViewModel,UnitTestingBootcampViewModel.swift  

    2024年02月07日
    浏览(27)
  • 自动化测试——unittest框架(单元测试)

    目录 一、unittest框架解析 1.1unittest的5个重要概念 1.1测试用例的编写及代码 1.2断言 1.3用例的执行顺序 1.4测试用例综合管理框架 1.5HTML报告生成 参考博文 unittest 单元测试提供了创建测试用例,测试套件以及批量执行的方案, unittest 在安装pyhton 以后就直接自带了,直接import

    2024年01月17日
    浏览(41)
  • 单元测试框架之unittest详解

    1.unittest简介 unittest是python自带的单元测试框架,不仅仅适用于单元测试,还可用于web端、appium、接口自动化测试用例的开发与执行。   2.unittest四大核心组件 1)TestCase: 测试用例类,用来定义用例函数 2)TestSuite: 测试套件,用于收集测试用例 3)TestRunner:测试用例运行类,用

    2024年02月15日
    浏览(31)
  • 单元测试与unittest框架详解

    🍅 视频学习: 文末有免费的配套视频可观看 🍅  点击文末小卡片  ,免费获取软件测试全套资料,资料在手,薪资嘎嘎涨 1. 什么是单元测试? 单元测试是指,对软件中的最小可测试单元在与程序其他部分相隔离的情况下进行检查和验证的工作,这里的最小可测试单元通常

    2024年02月19日
    浏览(26)
  • Selenium基础 —unittest单元测试框架

    目录 (一)unittest基本简介 (二)unittest基本概念 1、unittest核心的四个概念 2、如何创建一个测试类 3、test fixture常用的四个方法 4、unittest编写测试方法(用例)规范 5、执行测试脚本 6、入门示例 7、结果说明 (三)断言方法 1、断言介绍 2、常用的断言方法 3、断言示例 (四)

    2023年04月08日
    浏览(27)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包