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的dict,set,list,tuple应用详解
Jul 24 Python
用Python实现一个简单的能够发送带附件的邮件程序的教程
Apr 08 Python
Python2.x与Python3.x的区别
Jan 14 Python
Python线性回归实战分析
Feb 01 Python
利用Python如何制作好玩的GIF动图详解
Jul 11 Python
PyCharm在新窗口打开项目的方法
Jan 17 Python
pycharm 实现显示project 选项卡的方法
Jan 17 Python
python列表每个元素同增同减和列表元素去空格的实例
Jul 20 Python
Win10 安装PyCharm2019.1.1(图文教程)
Sep 29 Python
Tensorflow轻松实现XOR运算的方式
Feb 03 Python
python能否java成为主流语言吗
Jun 22 Python
彻底弄懂Python中的回调函数(callback)
Jun 25 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
php 随机记录mysql rand()造成CPU 100%的解决办法
2010/05/18 PHP
php防止sql注入之过滤分页参数实例
2014/11/03 PHP
ThinkPHP水印功能实现修复PNG透明水印并增加JPEG图片质量可调整
2014/11/05 PHP
php专用数组排序类ArraySortUtil用法实例
2015/04/03 PHP
PHP PDOStatement::fetchColumn讲解
2019/01/31 PHP
基于thinkphp6.0的success、error实现方法
2019/11/05 PHP
JS控制表格隔行变色
2006/06/26 Javascript
javascript 拖放效果实现代码
2010/01/22 Javascript
Extjs表单常见验证小结
2014/03/07 Javascript
jQuery实现首页顶部可伸缩广告特效代码
2015/04/15 Javascript
JavaScript实现点击按钮就复制当前网址
2015/12/14 Javascript
JS面向对象(3)之Object类,静态属性,闭包,私有属性, call和apply的使用,继承的三种实现方法
2016/02/25 Javascript
javascript拖拽应用实例
2016/03/25 Javascript
AngularJS 遇到的小坑与技巧小结
2016/06/07 Javascript
深入浅出讲解ES6的解构
2016/08/03 Javascript
javascript字符串对象常用api函数小结(连接,替换,分割,转换等)
2016/09/20 Javascript
jQuery动态添加与删除tr行实例代码
2016/10/18 Javascript
JS创建对象的写法示例
2016/11/04 Javascript
Javascrip实现文字跳动特效
2016/11/27 Javascript
详解MVC如何使用开源分页插件(shenniu.pager.js)
2016/12/16 Javascript
js 获取图像缩放后的实际宽高,位置等信息
2017/03/07 Javascript
Vue中父组件向子组件通信的方法
2017/07/11 Javascript
详解webpack打包第三方类库的正确姿势
2018/10/20 Javascript
vue渲染方式render和template的区别
2020/06/05 Javascript
python进程管理工具supervisor使用实例
2014/09/17 Python
python+os根据文件名自动生成文本
2019/03/21 Python
python eventlet绿化和patch原理
2020/11/21 Python
HTML5 Canvas绘制五星红旗
2016/05/04 HTML / CSS
下面关于"联合"的题目的输出是什么
2013/08/06 面试题
毕业生教师求职信
2013/10/20 职场文书
财务经理岗位职责
2013/11/09 职场文书
纪检监察建议书
2014/05/19 职场文书
简易版租房协议书范本
2014/10/13 职场文书
求职自荐信该如何书写?
2019/06/24 职场文书
正确使用MySQL INSERT INTO语句
2021/05/26 MySQL
使用 Apache 反向代理的设置技巧
2022/01/18 Servers