IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发测试 -> 听了学长一席话:原来在Unittest框架中,生成测试报告这么简单 -> 正文阅读

[开发测试]听了学长一席话:原来在Unittest框架中,生成测试报告这么简单

测试套件(Test Suite):是测试用例、测试套件或两者的集合,用于组装一组要运行的测试(多个测试用例集合在一起)。

(1)创建一个测试套件

import unittestsuite = unittest.TestSuite()

(2)将测试用例,加载到测试套件中

·通过模块或测试用例类加载

import testcases?# 测试用例的模块import unittestsuite = unittest.TestSuite()?# 创建测试套件loader = unittest.TestLoader()?# 用来加载TestCase到TestSuite中的suite.addTest(loader.loadTestsFromModule(testcases)# 模块加载suite.addTest(loader.loadTestsFromTestCase(testcases.类名))?# 用例类加载

·添加单条测试用例:suite.addTest(类名("用例方法名"))

·指定测试用例的所在的目录路径,进行加载()

discover(start_dir,pattern = "test*.py”,top_level_dir = None):start_dir:待测试的模块名或测试用例目录;pattern= "test*.py”:测试用例文件名的匹配原则;top_level_dir = None:测试模块的顶层目录,默认None

import?unittestsuite = unittest.TestSuite()loader = unittest.TestLoader()suite.addTest(loader.discover(r"用例文件所在的目录的绝对路径"))

2、Test Runner

Test Runner:用于协调测试的执行并(通过图形界面、文本界面、返回特殊值)向用户提供结果。

(1)测试结果

? ? ?.:用例通过? ? ? ? ? ?

? ? E:表示代码出错了? ? ? ? ? ?

? ? F:表示不通过

(2)使用启动器,执行测试套件

runner = unittest.TextTestRunner()?# 测试运行程序--->用来执行测试用例的runner.run(suite)

3、生成测试报告

(1)text类型报告

with?open(“test_report.txt","w") as f:?runner = unittest.TextTestRunner(f)?runner.run(suite)

(2)html类型报告

from HTMLTestRunnerNew import HTMLTestRunnerrunner = HTMLTestRunner(stream=open("test_report.html", "wb"),?# 打开一个报告文件,将句柄传给stream?tester="xxx",?# 报告种显示的测试人员description="测试报告描述,?# 报告种显示描述信息?title="测试报告标题")?# 报告的标题# 方法2with?open('test_report.html','wb')?as?file:?runner = HTMLTestRunner(stream=file,?tester =?'xxxx',?# 报告种显示的测试人员?title='测试报告标题',?# 报告的标题description='测试报告描述'?)?# 报告种显示描述信息runner.run(suite)

完整代码为:

import?timeimport?osimport?unittestfrom?com.contants?import?CASE_DIR?# 测试用例模块路径from?com.contants?import?REPORT_DIR?# 测试报告路径from?com.myconf?import?conf?# 读取配置文件(测试报告配置信息)from?library.HTMLTestRunnerNew?import?HTMLTestRunner?# 生成测试报告from?com.sendemail?import?send_email# 1.创建测试套件suite = unittest.TestSuite()# 2. 加载TestCase到TestSuite中# 创建对象加载loader = unittest.TestLoader()# # (1)通过模块加载# suite.addTest(loader.loadTestsFromModule(test_case))# # (2)通过测试用例类加载# suite.addTest(loader.loadTestsFromTestCae(test_case.类名))## # (3)添加单条测试用例,不需要loader对象方法# # 注意:通过用例类去创建测试用例对象时,需传入用例的方法名(字符串类型)# suite.addTest(类名("用例方法名"))# (4)指定测试用例的所在的目录路径,进行加载()suite.addTest(loader.discover(CASE_DIR))# 测试运行程序--->用来执行测试用例的# 方法1# runner = unittest.TextTestRunner()# 方法2:将HTMLTestRunner文件放在scriptsreport_name = time.strftime('%Y-%m-%d %H_%M') + conf.get('report','reportname')report_path = os.path.join(REPORT_DIR,report_name)with?open(report_path,'wb')?as?file:?runner = HTMLTestRunner(stream=file,?# 文件名?tester = conf.get('report','tester'),?# 报告种显示的测试人员?title= time.strftime('%Y-%m-%d %H_%M_%S') + conf.get('report','title'),?# 报告的标题?description=conf.get('report','description') )?# 报告种显示描述信息?runner.run(suite)# 发送测试报告send_email(report_path,report_name)

最后,下面是我整理出来的一份软件测试工程师发展方向知识架构体系图。

希望大家能在这个成长过程中收益良多。可以说,这个过程会让你痛不欲生,但只要你熬过去了。以后的生活就轻松很多。正所谓万事开头难,只要迈出了第一步,你就已经成功了一半,古人说的好“不积跬步,无以至千里。”等到完成之后再回顾这一段路程的时候,你肯定会感慨良多。

由于CSDN上传图片大小有限,有需要的朋友可以关注我的公众号:程序员二黑,回复1,即可获取原图。

下面是一份配套的软件测试资源包:

上面是一些配套资源,对于软件测试的的朋友来说应该是最全面最完整的备战仓库,为了更好地整理每个模块,我也参考了很多网上的优质博文和项目,力求不漏掉每一个知识点,很多朋友靠着这些内容进行复习,拿到了BATJ等大厂的offer,这个仓库也已经帮助了很多的软件测试的学习者,希望也能帮助到你。

关注我的微信公众号:程序员二黑,即可免费获取!

最困难的时候,也就是我们离成功不远的时候!如果你不想再体验一次自学时找不到资料,没人解答问题,坚持几天便放弃的感受的话,可以加入我们的群:785128166 大家一起讨论交流学习。

?

  开发测试 最新文章
pytest系列——allure之生成测试报告(Wind
某大厂软件测试岗一面笔试题+二面问答题面试
iperf 学习笔记
关于Python中使用selenium八大定位方法
【软件测试】为什么提升不了?8年测试总结再
软件测试复习
PHP笔记-Smarty模板引擎的使用
C++Test使用入门
【Java】单元测试
Net core 3.x 获取客户端地址
上一篇文章      下一篇文章      查看所有文章
加:2021-08-09 10:31:40  更:2021-08-09 10:32:31 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/17 20:21:30-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码