python之单元测试_生成测试报告
(1)HTMLTestRunner.py的下载路径:https://pan.baidu.com/s/1Yk2E8d8bIo5_rmpussOE9Q 提取码:0jae
(2)HTMLTestRunner.py的存放到python安装的路径的lib文件夹下面,如下图所示:

(3)以加减乘除的计算为例,创建三个类:(1)mathMethod.py(2)testMathMethod.py(3)testSuit.py

(1)mathMethod.py
class MathMethod:
def __init__(self, a, b):
self.a = a
self.b = b
def add(self):
return self.a+self.b
def sub(self):
return self.a-self.b
def chengfa(self):
return self.a*self.b
def div(self):
return self.a/self.b
(2)testMathMethod.py
import unittest
from 单元测试.mathMethod import MathMethod # 对mathmethod进行单元测试
# TestCase
# 下面都是测试用例
class TestMathMethod(unittest.TestCase):
def setUp(self):
print("开始测试啦!") def test_add(self):
try:
t = MathMethod(5, 4).add()
self.assertEqual(t, 9, "出错啦")
print(t)
except AssertionError as e:
print("单元测试出错啦,错误是%s")
raise e def test_sub(self):
try:
t = MathMethod(9, 6).sub()
self.assertEqual(t, 3, "出错啦")
print(t)
except AssertionError as e:
print("单元测试出错啦,错误是%s")
raise e def test_chengfa(self): try:
t = MathMethod(5, 5).chengfa()
self.assertEqual(t, 25, "出错啦")
print(t)
except AssertionError as e:
print("单元测试出错啦,错误是%s")
raise e def test_div(self):
try:
t = MathMethod(25, 5).div()
self.assertEqual(t, 5, "出错啦")
print(t)
except AssertionError as e:
print("单元测试出错啦,错误是%s")
raise e def tearDown(self):
print("测试结束了!") (3)testSuit.py
import unittest
import time
from 单元测试.testMathMethod import TestMathMethod
import HTMLTestRunner # 作用把所有测试用例集合起来,放在一个测试集里面。
suite = unittest.TestSuite()
suite.addTest(TestMathMethod("test_add"))
suite.addTest(TestMathMethod("test_sub"))
suite.addTest(TestMathMethod("test_chengfa"))
suite.addTest(TestMathMethod("test_div"))
now = time.strftime('%Y-%m-%d_%H_%M_%S')
# 执行测试集
filePath = "pyResult" + now + ".html"
fp = open(filePath, 'wb')
# 生成报告的title,描述
runner = HTMLTestRunner.HTMLTestRunner(stream=fp, title="2019-1-6 test report",
verbosity=2) # 执行测试用例出结果
runner.run(suite)
fp.close()
(4)运行testSuit生成测试报告:

请大家支持原创,尊重原创,如要转载,请注明出处:“转载自:https://www.cnblogs.com/xiaoyunyun100fen/”:谢谢!!如有疑问,欢迎大家留言区艾特我哈。
python之单元测试_生成测试报告的更多相关文章
- python使用 HTMLTestRunner.py生成测试报告
HTMLTestRunner.py python 2版本 下载地址:http://tungwaiyip.info/software/HTMLTestRunner.html 使用时,先建立一个”PyDe ...
- Python+Selenium+Unittest+HTMLTestRunner生成测试报告+发送至邮箱,记一次完整的cnblog登录测试示例,
测试思路:单个测试集.单个测试汇成多个测试集.运行测试集.生成测试报告.发送至邮箱. 第一步:建立单个测试集,以cnblog登录为例. 测试用例: cnblog的登录测试,简单分下面几种情况:(1)用 ...
- python使用HTMLTestRunner.py生成测试报告
这里我使用的是python selenium webdriver环境,浏览器驱动安装见selenium 1.下载HTMLTestRunner.py:http://tungwaiyip.info/sof ...
- Karma +Jasmine+ require JS进行单元测试并生成测试报告、代码覆盖率报告
1. 关于Karma Karma是一个基于Node.js的JavaScript测试执行过程管理工具(Test Runner). 该工具可用于测试所有主流Web浏览器,也可集成到CI(Continuou ...
- python自动化之(自动生成测试报告)
前言: 用python执行测试脚本, 测试报告是记录我们测试过程的问题, 方便我们对整个测试过程的把控. 这里引用的是别人写好的模板, 我们拿过来用就OK, 能力强者可自行编写模板 测试报告图模板: ...
- 基于python xlsxwriter、xlrd 生成测试报告
import xlsxwriter,xlrd ''' 思路: 1.获取数据 2.整合数据 3.写入文件 ''' #筛选 def filt(category,table,filt_name=None,r ...
- Python学习笔记_生成验证码
import random def verification_code(): num = [str(x) for x in range(10)] # 列表生成器0-9 upper = [chr(x) ...
- python之单元测试框架—unittest
一. 什么是单元测试?单元测试的对象是什么? 1: 什么是单元测试? 按照定义,单元测试就是对单个模块或者单个类或者单个函数进行测试,一般是开发做的,按照阶段分,一般就是单元测试.集成测试.系统测试. ...
- Python单元测试框架之pytest 2 -- 生成测试报告
From: https://www.cnblogs.com/fnng/p/4768239.html Python单元测试框架之pytest -- 生成测试报告 2015-08-29 00:40 by ...
随机推荐
- 【Spark篇】---Spark中Action算子
一.前述 Action类算子也是一类算子(函数)叫做行动算子,如foreach,collect,count等.Transformations类算子是延迟执行,Action类算子是触发执行.一个appl ...
- C#版(打败99.28%的提交) - Leetcode 347. Top K Frequent Elements - 题解
版权声明: 本文为博主Bravo Yeung(知乎UserName同名)的原创文章,欲转载请先私信获博主允许,转载时请附上网址 http://blog.csdn.net/lzuacm. C#版 - L ...
- SpringBoot入门教程(二)CentOS部署SpringBoot项目从0到1
在之前的博文<详解intellij idea搭建SpringBoot>介绍了idea搭建SpringBoot的详细过程, 并在<CentOS安装Tomcat>中介绍了Tomca ...
- 预测python数据分析师的工资
前两篇博客分别对拉勾中关于 python 数据分析有关的信息进行获取(https://www.cnblogs.com/lyuzt/p/10636501.html)和对获取的数据进行可视化分析(http ...
- NiftyNet 数据预处理
NiftyNet项目介绍 使用NiftyNet时,我们需要先将图像数据和标签进行一次简单的处理,得到对应的.csv文件. 对应文件格式为: img.csv image path img_name im ...
- Gartner 2018 数据库系列报告发布 巨杉数据库连续两年入选
近期,Gartner陆续发布了2018年的数据库系列报告,包括<数据库魔力象限><数据库核心能力>以及<数据库推荐报告>.其中,SequoiaDB巨杉数据库作为业界 ...
- 如何正确使用Java序列化?
前言 什么是序列化:将对象编码成一个字节流,这样一来就可以在通信中传递对象了.比如在一台虚拟机中被传递到另一台虚拟机中,或者字节流存储到磁盘上. “关于Java的序列化,无非就是简单的实现Serial ...
- JSON 数据转换
JSON概述 JSON(Java Script Object Notation)JS对象符号,通常JSON和XML是二选一的,JSON的数据格式很类似于JavaScript的对象 { &qu ...
- [MySQL] mysql int后面的数字与前导零填充
1.int或者tinyint等数值型字段的存储范围已经是固定的,和类型相关2.后面的数字只与显示有关,并且是在开启了zerofill前导零填充的前提下 3.显示的时候,在前面用0补全了 create ...
- 【学习笔记】tensorflow图片读取
目录 图像基本概念 图像基本操作 图像基本操作API 图像读取API 狗图片读取 CIFAR-10二进制数据读取 TFRecords TFRecords存储 TFRecords读取方法 图像基本概念 ...