Python TestSuite生成测试报告过程解析


Posted in Python onJuly 23, 2020

简介:为每一个测试用例添加说明,那么将会使报告更加易读懂,工作中汇报数据的技巧
u"test_one方法"

HTMLTestRunner 是 Python 标准库的 unittest 模块的一个扩展,它可以生成 HTML的 测试报告,无法通过pip安装。

首先要下 HTMLTestRunner.py 文件,将下载的文件放入…\python\Lib目录下 (或者同个路径)

注意点:

python2和python3,语法不一样,导致HTMLTestRunner在python3不兼容

解决办法:导入课程资料里面修改好的HTMLTestRunner.py (该版本是网上的小伙伴修改好的)

# -*- coding: UTF-8 -*-
import unittest
import HTMLTestRunner
import time

class XdclassTestCase(unittest.TestCase):
  def setUp(self):
    self.age = 32
    self.name = "小D课堂"
    print(" setUp method=======")


  def tearDown(self):
    print(" tearDown method=======")
    #断言是否相同
    self.assertEqual('foo'.upper(), 'FOO')

  def test_one(self):
    u"test_one方法"
    print(" test_one 二当家小D 来了")
    #断言是否相同
    self.assertEqual(self.name, "小D课堂",msg="名字不对")

  def test_two(self):
    u"test_TWO方法说明"
    print(" test_two 前端 来了")
    #断言是否为 true, msg是断言错误的提示信息
    self.assertTrue('XD'.isupper(), msg="不是大写")
    
  def test_three(self):
    u"这是首页登录测试用例"
    print(" test_three 后端 来了")
    self.assertEqual(self.age,32)

  def test_four(self):
    print(" test_four 小D课堂官网上线啦 https://www.xdclass.net")
    self.assertEqual(self.age,32)

if __name__ == '__main__':
  suite = unittest.TestSuite()
  suite.addTest(XdclassTestCase("test_two"))
  suite.addTest(XdclassTestCase("test_one"))
  
  suite.addTest(XdclassTestCase("test_three"))
  suite.addTest(XdclassTestCase("test_four"))

  #verbosity参数可以控制执行结果的输出,0 是简单报告、1 是一般报告(默认)、2 是详细报告
  #runner = unittest.TextTestRunner(verbosity=2)
  #runner.run(suite)
  #文件名中加了当前时间,为了每次生成不同的测试报告
  file_prefix = time.strftime("%Y-%m-%d %H_%M_%S", time.localtime())
  print(file_prefix)
  #创建测试报告,此时这个文件还是空文件
  # wb 以二进制格式打开一个文件,只用于写入,如果文件存在则覆盖,不存在则创建
  fp = open("./"+file_prefix+"_result.html","wb")
  # stream定义一个测试报告写入的文件,title就是标题,description就是描述
  runner = HTMLTestRunner.HTMLTestRunner(stream=fp, title=u"小D课堂 测试报告",description=u"测试用例执行情况")
  
  runner.run(suite)
  fp.close()

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python简单实现刷新智联简历
Mar 30 Python
浅析Python中yield关键词的作用与用法
Nov 29 Python
详解Python 实现元胞自动机中的生命游戏(Game of life)
Jan 27 Python
解决nohup重定向python输出到文件不成功的问题
May 11 Python
pyspark 读取csv文件创建DataFrame的两种方法
Jun 07 Python
python 实现矩阵上下/左右翻转,转置的示例
Jan 23 Python
python下的opencv画矩形和文字注释的实现方法
Jul 09 Python
Python PIL图片添加字体的例子
Aug 22 Python
通过实例了解Python str()和repr()的区别
Jan 17 Python
Python迭代器Iterable判断方法解析
Mar 16 Python
python 批量下载bilibili视频的gui程序
Nov 20 Python
Python的collections模块真的很好用
Mar 01 Python
快速解释如何使用pandas的inplace参数的使用
Jul 23 #Python
Python分类测试代码实例汇总
Jul 23 #Python
基于Python3读写INI配置文件过程解析
Jul 23 #Python
Linux安装Python3如何和系统自带的Python2并存
Jul 23 #Python
Java爬虫技术框架之Heritrix框架详解
Jul 22 #Python
Python 绘制可视化折线图
Jul 22 #Python
python写文件时覆盖原来的实例方法
Jul 22 #Python
You might like
Zerg建筑一览
2020/03/14 星际争霸
php mssql 分页SQL语句优化 持续影响
2009/04/26 PHP
php后台多用户权限组思路与实现程序代码分享
2012/02/13 PHP
如何让CI框架支持service层
2014/10/29 PHP
php+mysql数据库实现无限分类的方法
2014/12/12 PHP
php正则表达式使用方法整理集合
2020/01/31 PHP
如何重写Laravel异常处理类详解
2020/12/20 PHP
基于JQuery的数字改变的动画效果--可用来做计数器
2010/08/11 Javascript
jQuery调用WebService的实现代码
2011/06/19 Javascript
javascript作用域和闭包使用详解
2014/04/25 Javascript
在 Express 中使用模板引擎
2015/12/10 Javascript
JS实现添加,替换,删除节点元素的方法
2016/06/30 Javascript
JS switch判断 三目运算 while 及 属性操作代码
2017/09/03 Javascript
vue 过滤器filter实例详解
2018/03/14 Javascript
用JS实现根据当前时间随机生成流水号或者订单号
2018/05/31 Javascript
Angular 利用路由跳转到指定页面的指定位置方法
2018/08/31 Javascript
AngularJS 多指令Scope问题的解决
2018/10/25 Javascript
微信小程序判断页面是否从其他页面返回的实例代码
2019/07/03 Javascript
vscode自定义vue模板的实现
2021/01/27 Vue.js
Python中实现常量(Const)功能
2015/01/28 Python
详解python中list的使用
2019/03/15 Python
Python中一些深不见底的“坑”
2019/06/12 Python
python学习将数据写入文件并保存方法
2020/06/07 Python
Win10下配置tensorflow-gpu的详细教程(无VS2015/2017)
2020/07/14 Python
Schutz鞋官方网站:Schutz Shoes
2017/12/13 全球购物
泰国折扣酒店预订:Hotels2Thailand
2018/03/20 全球购物
中专生职业生涯规划书范文
2013/12/29 职场文书
财务管理专业毕业生求职信
2014/06/02 职场文书
银行柜员求职自荐书
2014/06/18 职场文书
社区好人好事材料
2014/12/26 职场文书
网络研修心得体会
2016/01/08 职场文书
党员干部学习心得体会
2016/01/23 职场文书
python 爬取豆瓣网页的示例
2021/04/13 Python
Redis延迟队列和分布式延迟队列的简答实现
2021/05/13 Redis
zabbix agent2 监控oracle数据库的方法
2021/05/13 Oracle
OpenCV-Python直方图均衡化实现图像去雾
2021/06/07 Python