unittest单元测试笔记

单元测试

  unittest单元测试是基于java的JUnit思想框架开发出来的测试框架

import  unittest
import HTMLTestRunner
class Mytest1(unittest.TestCase):def test_a(self):#用例必须已test开头self.assertEqual(1,1,msg='错误提示信息,如果校验失败,出现这个')print('a')def test_c(self):self.assertEqual(1,2,msg='失败')#如果校验结果不正确,不会执行后面的代码print('c')#这条代码不会执行def test_z(self):#函数执行优先级:按照函数的首字母顺序依次执行A-Z-a-zself.assertEqual(4,4)print('z')def test_G(self):self.assertEqual(3,3)print('G')
#unittest.main()#运行所有函数
#unittest.defaultTestLoader.discover()#可以指定一个文件夹,在指定目录下找到测试用例
f = open('a.html','wb')#创建文件
runner = HTMLTestRunner.HTMLTestRunner(f,title='rainbol_test',description='这是一个接口测试用例')#实例化用例报告,并传入文件,title标题,description描述
suite = unittest.makeSuite(Mytest1)#把要生成报告的类变成一个测试集合,
runner.run(suite)#运行测试用例import BeautifulReport
#美化报告
class Mytest2(unittest.TestCase):def test_a(self):'''test_a用例'''#添加用例描述,可以在测试报告中显示self.assertEqual(1,1,msg='错误提示信息,如果校验失败,出现这个')def test_c(self):'''test_c用例'''self.assertEqual(1,2,msg='失败')print('c')def test_z(self):'''test_z用例'''self.assertEqual(4,4)print('z')new_suite= unittest.makeSuite(Mytest2)
report = BeautifulReport.BeautifulReport(new_suite)
report.report(filename='new_report.html',description='这个是新接口测试报告')class Mytest3(unittest.TestCase):def setUp(self):#每条用例前执行,比如检测接口连接是否正常print('setUp')def tearDown(self):#每条用例后执行,比如清理缓存,cookie,redis的信息print('tearDown')
@classmethod  #注意加入装饰器
def setUpClass(cls):#这个类里面的用例先执行,比如连接数据库print('setUpClass')@classmethod  #注意加入装饰器def tearDownClass(cls):#这个类里面的用例最后执行,比如关闭数据库print('tearDownClass')
  def test_c(self):'''test_c用例'''self.assertEqual(1, 2, msg='失败')print('c')def test_z(self):'''test_z用例'''self.assertEqual(4,4)print('z') unittest.main() #执行顺序 setUpClass→setUp→test_c→tearDown→setUp→test_z→tearDown→tearDownClass

 

 

版权声明:本文原创发表于 博客园,作者为 RainBol 本文欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则视为侵权。

转载于:https://www.cnblogs.com/RainBol/p/10055800.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/484657.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

缅怀袁隆平院士:一颗稻谷里的爱国情怀

来源:科学网5月22日,《中国科学报》从中国工程院获悉,“共和国勋章”获得者、中国工程院院士袁隆平,因多器官功能衰竭,于2021年5月22日13时07分在长沙逝世,享年91岁。袁隆平对于国人来说,袁隆平…

k-Means——经典聚类算法实验(Matlab实现)

聚类算法—k-Means实验 k-平均(k-Means),也被称为k-均值,是一种得到最广泛使用的聚类算法[1]. k-Means算法以k为参数,把n个对象分为k个簇,使得簇内具有较高的相似度。 实验目的 了解常用聚类算法及其优缺…

这5个数学猜想最早在30年前提出,如今AI证明它们都错了

来源:AI科技评论编译:琰琰编辑:青暮近日,以色列特拉维夫大学研究团队在预印论文库提交了一篇名为“Constructions in combinatorics via neural networks“的论文,在这篇论文中,研究人员通过机器学习算法证…

Java AQS 核心数据结构-CLH 锁及优化

Java AQS 核心数据结构-CLH 锁 什么是CLH锁 CLH 锁是对自旋锁的一种改进,有效的解决了以上的两个缺点。 第一个是锁饥饿问题。在锁竞争激烈的情况下,可能存在一个线程一直被其他线程”插队“而一直获取不到锁的情况。第二是性能问题。在实际的多处理上…

M/M/m排队模型 (单队列多服务台并联服务模型)数学建模: 基于生灭过程的理论计算和基于事件推进的Matlab模拟仿真思路

M/M/m排队模型 (单队列多服务台并联服务模型) 数学建模: 基于生灭过程的理论计算和基于事件推进的Matlab模拟仿真思路 原创文章,转载文章请注明出处:©️Sylvan Ding 🎉🎉🎉 摘要 本文研究M/M/m单队列多服务台并…

不要排斥中文注释

项目的代码注释,我们并不限定只能使用英文,对某些对较为复杂算法的解释,用英文会带来理解上的问题,用中文注释更易理解,一般简单易懂的可以用英文,注释最重要的是能够看懂,看不懂,用…

用物理学来为生命技术及制度的演化找出规律-读《为什么世界不会失控》

来源:混沌巡洋舰物理学的规律是最底层的最永恒的,但能够对抗变化,维持自身结构的活系统,其规律则是最丰富的。“The physics of life”这本书,则是用能量的产生和耗散为视角,解释一切活系统,包括…

js正则检测输入内容为数字,包括负数,整数,浮点数,亲测可用.JS检测整数,js检测浮点数,js检测负数,js检测数字,js限制输入框只输入数字,解决H5 number类型只能输入正数问题.

JS 正则实现数字检测和限制输入,包括整数、浮点数、负数(亲测可用) 网上搜了一下,居然可以直接拿来用的很少,要么就是只能检测正整数、要么是只能检测浮点数,总之很多都不适合,而H5提供的type&q…

collection 多态 会自动转型为子类 继承多态需要显示转型

转载于:https://www.cnblogs.com/classmethond/p/10057670.html

深入地下,实地探访!不用人挖煤的智能煤矿长什么样?

来源:脑极体未来智能实验室的主要工作包括:建立AI智能系统智商评测体系,开展世界人工智能智商评测;开展互联网(城市)云脑研究计划,构建互联网(城市)云脑技术和企业图谱&a…

HanLP中文分词、人名识别、地名识别

HanLP中文分词、人名识别、地名识别 实验目的 从网上下载和安装HanLP自然语言处理包;熟悉HanLP自然语言处理包的基本功能;利用网络爬虫获取的信息,调用HanLP的API,进行中文分词、人名识别、地名识别. 研究背景 随着互联网和信息技术的快速发展&#…

这些行业,将率先落地AI芯片 | 星前沿

来源:联想之星广义上,所有面向AI应用的芯片都可以称为AI芯片。目前一般认为是针对AI算法做了特殊加速设计的芯片。现阶段,这些人工智能算法一般以深度学习算法为主,也可以包括其他浅层机器学习算法。人工智能芯片分类一般有按技术…

[NOI2007]社交网络

题目描述 在社交网络(social network)的研究中,我们常常使用图论概念去解释一些社会现象。不妨看这样的一个问题。在一个社交圈子里有n个人,人与人之间有不同程度的关系。我 们将这个关系网络对应到一个n个结点的无向图上&#xf…

vueJs的简单入门以及基础语法

vue的api vue官网API 1基础语法 1-1基本数据绑定 <div id"app">{{ msg }} </div> //script new Vue({el:"#app",//代表vue的范围data:{msg:hello Vue //数据} }) 在这个例子中我们可以进行赋值 var app new Vue(...); app.msg 初探vue; //那…

应用数学的强大威力

来源&#xff1a;数学中国 应用数学思想是科研当中非常重要的一种思维方式以及研究方法。今天我们就借助戴世强教授的三篇有关应用数学的文章来详细了解一下这些问题&#xff1a;什么是“应用数学思维”&#xff1f;我们如何在研究中使用应用数学思维&#xff1f;应用数学思维…

正则化实现降噪,分别使用最小二乘、定步长梯度下降和回溯法的梯度下降求解最优解

正则化实现降噪&#xff0c;分别使用最小二乘、定步长梯度下降和回溯法的梯度下降求解最优解 原创文章&#xff01;转载需注明来源&#xff1a;©️ Sylvan Ding’s Blog ❤️ 实验目的 参考 INTRODUCTION TO NONELINEAR OPTIMIZATION. Amir Beck. 2014 的 3.4 Denoising …

双向 RNN

1.基本理论 双向 RNN 结合时间上从序列起点开始移动的 RNN 和另一个时间上从序列末尾开始移动的 RNN 2.逻辑图 其中 h (t) 代表通过时间向前移动的子 RNN 的状态&#xff0c;g (t) 代表通过时间向后移动的子 RNN 的状态 允许输出单元 o (t) 能够计算同时依赖于过去和未来且对时…

Hadoop伪分布式配置和搭建,hadoop单机安装,wordcount实例测试,hadoop安装java目录怎么找,问题及问题解决方法

Hadoop伪分布式配置和搭建&#xff0c;hadoop单机安装&#xff0c;wordcount实例测试&#xff0c;hadoop安装java目录怎么找&#xff0c;问题及问题解决方法 环境说明 系统&#xff1a;ubuntu18.04 主机名&#xff1a;test1 用户名&#xff1a;sylvan hadoop单机安装 换源操作…

AI时代竟有智能化鸿沟,具备哪些条件才能跨过?

来源&#xff1a;CSDN移动互联网“早古”时期&#xff0c;普通人因为收入差距问题而无法做到人手一部智能手机&#xff0c;从而导致数字鸿沟。同样&#xff0c;在当前这个AI&#xff0c;也就是人工智能扮演越来越关键作用的时代&#xff0c;企业也站在了类似的抉择交接线上——…

[js] 渲染树构建、布局及绘制

渲染树构建、布局及绘制 转载于:https://www.cnblogs.com/iiiiiher/p/10065345.html