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和MD5实现网站挂马检测程序
Mar 13 Python
Python中的True,False条件判断实例分析
Jan 12 Python
使用Python的Zato发送AMQP消息的教程
Apr 16 Python
Python的Socket编程过程中实现UDP端口复用的实例分享
Mar 19 Python
使用Python的Twisted框架构建非阻塞下载程序的实例教程
May 25 Python
pandas.DataFrame 根据条件新建列并赋值的方法
Apr 08 Python
Python实现判断并移除列表指定位置元素的方法
Apr 13 Python
python实现n个数中选出m个数的方法
Nov 13 Python
Python数据结构与算法(几种排序)小结
Jun 22 Python
python接口调用已训练好的caffe模型测试分类方法
Aug 26 Python
python enumerate内置函数用法总结
Jan 07 Python
python安装和pycharm环境搭建设置方法
May 27 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
js+php实现静态页面实时调用用户登陆状态的方法
2015/01/04 PHP
thinkPHP实现递归循环栏目并按照树形结构无限极输出的方法
2016/05/19 PHP
PHP生成随机数的方法总结
2018/03/01 PHP
jquery中的 $("#jb51")与document.getElementById("jb51") 的区别
2011/07/26 Javascript
解决jQuery动态获取手机屏幕高和宽的问题
2014/05/07 Javascript
javascript解析json数据的3种方式
2014/05/08 Javascript
Node.js中对通用模块的封装方法
2014/06/06 Javascript
JavaScript实现将数组数据添加到Select下拉框的方法
2015/08/21 Javascript
JavaScript控制浏览器全屏及各种浏览器全屏模式的方法、属性和事件
2015/12/20 Javascript
JS从一组数据中找到指定的单条数据的方法
2016/06/02 Javascript
Js动态设置rem来实现移动端字体的自适应代码
2016/10/14 Javascript
Angular HMR(热模块替换)功能实现方法
2018/04/04 Javascript
简化vuex的状态管理方案的方法
2018/06/02 Javascript
cnpm加速Angular项目创建的方法
2018/09/07 Javascript
vue表单中遍历表单操作按钮的显示隐藏示例
2019/10/30 Javascript
详解为什么Vue中不要用index作为key(diff算法)
2020/04/04 Javascript
[40:27]完美世界DOTA2联赛PWL S3 PXG vs GXR 第一场 12.19
2020/12/24 DOTA
通过Python使用saltstack生成服务器资产清单
2016/03/01 Python
Python for Informatics 第11章之正则表达式(二)
2016/04/21 Python
Python基础教程之浅拷贝和深拷贝实例详解
2017/07/15 Python
Python实现1-9数组形成的结果为100的所有运算式的示例
2017/11/03 Python
Python常见字典内建函数用法示例
2018/05/14 Python
Python并行分布式框架Celery详解
2018/10/15 Python
python画图的函数用法以及技巧
2019/06/28 Python
Python:合并两个numpy矩阵的实现
2019/12/02 Python
matplotlib subplot绘制多个子图的方法示例
2020/07/28 Python
Windows下pycharm安装第三方库失败(通用解决方案)
2020/09/17 Python
SmartBuyGlasses台湾:名牌眼镜,名牌太阳眼镜及隐形眼镜
2017/01/04 全球购物
三星美国官网:Samsung美国
2017/02/06 全球购物
施华洛世奇天猫官方旗舰店:SWAROVSKI
2017/04/17 全球购物
个人自我鉴定写法
2013/11/30 职场文书
食堂厨师岗位职责
2014/08/25 职场文书
单位实习介绍信
2015/05/05 职场文书
小学少先队活动总结
2015/05/08 职场文书
幽默导游词应该怎么写?
2019/08/26 职场文书
python实现简易自习室座位预约系统
2021/06/30 Python