10_30_unittest
1、断言
- 1)、self.assertEqual(2,res)#期望值qian、结果值hou
2)TextTestRunner 源码 必要的参数
3)测试结果 上下文管理器
- with open("test.txt",'w+',encoding='utf-8') as file:
- runner= unittest.TextTestRunner(stream=file,verbosity=2)
- runner.run(suite)
2、测试报告的另一种:
- import unittest
- import HTMLTestRunner
- from GYP_test.class_01 import TestMathMethon
- suite= unittest.TestSuite()#存储用例
- loader = unittest.TestLoader()#加载器
- suite.addTest(loader.loadTestsFromTestCase(TestMathMethon))
- with open('test_report.html','wb') as file:
- runner= HTMLTestRunner.HTMLTestRunner(stream=file,verbosity=2,
- title='gyp测试',
- description='gyp在做练习',
- tester='卡卡')
- runner.run(suite)
断言处理:
异常抛出
- import unittest
- from GYP_test.math import MathMethod #测试的目标
- class TestMathMethon(unittest.TestCase):#继承了unittest里面的TestCase 专门来写用例
- def test_add_two_positive(self):
- res = MathMethod(1,1).add()
- print('1+1的结果值是:',res)
- #加一个断言:判断期望值与实际值的比对结果一直就算通过 不一致 就算失败
- try:
- self.assertEqual(2,res)#期望值qian、结果值hou
- except AssertionError as e:
- print("出错了拉%s" %e)
- raise e
- def test_add_two_zero(self):
- res = MathMethod(0, 0).add()
- print('0+0的结果值是:', res)
- try:
- self.assertEqual(1, res) # 期望值、结果值
- except AssertionError as e:
- print("出错了拉%s" %e)
- raise e
- def test_add_two_fushu(self):
- res = MathMethod(-1, -2).add()
- print('-1+-2的结果值是:',res)
- try:
- self.assertEqual(-3, res) # 期望值、结果值
- except AssertionError as e:
- print("出错了拉%s" %e)
- raise e
- if __name__ == '__main__':
- unittest.main()
4、夹心饼干
初始化操作
- def setUp(self):
- print('我要开始执行用例了')
- def tearDown(self):
- print('我已经执行完了')
10_30_unittest的更多相关文章
随机推荐
- 【踩坑】利用fastjson反序列化需要默认构造函数
利用 fastjson等 反序列化时需要注意,他可能会用到 默认的构造函数,如果没有默认构造函数,某些场景下可能会出现 反序列化熟悉为空的情况,如下图所示:
- [面试]StringBuilder StringBuffer源码粘贴(并非源码分析, 请绕道)
StringBuilder StringBuffer 源码 这里只是我个人笔记, 并没有在这篇文章里做任何技术分享, 请同学们绕道- -.如果需要我会后期补上的..... 本来是想分析源码来着, 但是 ...
- 备忘录模式-Memento Pattern(Java实现)
备忘录模式-Memento Pattern Memento备忘录设计模式是一个保存另外一个对象内部状态拷贝的对象,这样以后就可以将该对象恢复到以前保存的状态. 本文中的场景: 有一款游戏可以随时存档, ...
- 原型模式-Prototype(Java实现)
原型模式-Prototype 通过复制(克隆.拷贝)一个指定类型的对象来创建更多同类型的对象. 就像去蛋糕店买蛋糕一样. 柜台里的蛋糕都是非卖品. 只是为顾客提供一种参照. 当顾客看上某一个样式的蛋糕 ...
- CentOS7设置ssh服务以及端口修改
很多时候我们都是通过SSH 服务 来对 Linux 进行操作,而不是直接来操作Linux机器,包括对Linux服务器的操作,因此,设置SSH服务对于学习Linux来说属于必备技能(尤其是运维人员),关 ...
- @JoinColumn解释
@JoinColumn与@Column标记一样,是用于注释表中的字段的.它的属性与@Column属性有很多相同之处,这里就不详细讲述.请读者参阅5.2.2小节中有关@Column属性的部分. l ...
- XGBoost参数调优完全指南
简介 如果你的预测模型表现得有些不尽如人意,那就用XGBoost吧.XGBoost算法现在已经成为很多数据工程师的重要武器.它是一种十分精致的算法,可以处理各种不规则的数据.构造一个使用XGBoost ...
- SpringMVC+Apache Shiro+JPA(hibernate)案例教学(三)给Shiro登录验证加上验证码
序: 给Shiro加入验证码,有多种方式,当然你也可以通过继承修改FormAuthenticationFilter类,通过Shiro去验证验证码.具体实现请百度: 应用Shiro到Web Applic ...
- 在页面加载前先出现加载loading,页面加载完成之后再显示页面
在此加入一个关于页面加载成功之前先展现一个loading的案例: 如下代码写入js里放在html头部即可实现需求:添加的可以自己在css文件设置宽高,也可以放入一个background的gif的loa ...
- JavaScript的Document ,Histroy,Location对象
1. Document对象: a) 属性: 名称 描述 alinkColor 设置或检索文档中所有活动链接的颜色 bgColor 设置或检索 Document 对象的背景色 body ...