Python中unittest的断言方法详解
目录
- 断言方法:
- 方法有:
- 下面是做的例子,后边是运行结果:
- 总结
断言方法: 是unittest提供的一组方法,可以通过这些方法完成期望结果和实际结果的对比
方法有: assert+空格+要判断的语句+逗号+'报错语句'python提供
【Python中unittest的断言方法详解】assertEqual(a,b,msg='报错语句')若a==b不报错,否则报错内容为msg
assertNotEqual(a,b,msg='报错语句')若a!=b不报错,否则报错内容为msg
assertIn(a,b,msg='报错语句')若a in b不报错,否则报错内容为msg
assertNotIn(a,b,msg='报错语句')若a not in b不报错,否则报错内容为msg
assertTrue(a,msg='报错语句')a为表达式,若a成立不报错,否则直接报错
assertFalse(a,msg='报错语句')a为表达式,若a不成立不报错,否则直接报错
assertIsInstance(obj,cls,msg='报错语句')obj是cls的一个实例,是则不报错,否则直接报错
assertNotIsInstance(obj,cls,msg='报错语句')obj不是cls的一个实例,不是不报错,否则直接报错
assertIsNone(a,msg='报错语句')a为None不报错,否则直接报错
assertNotIsNone(a,msg='报错语句')a不为None不报错,否则直接报错
下面是做的例子,后边是运行结果: 运行结果显示:
OK和'.'代表开发和测试的代码无问题
F(FAIL)开发代码有问题,测试代码无问题
E(ERROR)测试代码有问题,开发代码不确定
assert 3 == 5, '错了' # 错了assert type(8) is int, '错了' # 运行成功,不显示结果assert id(9) is int, '错了' # 错了assert type(id(9)) is int, '错了' # 运行成功,不显示结果import unittestclass Test(unittest.TestCase): def setUp(self):print('测试开始') def testEqual(self):self.assertEqual(10,100,msg = '错了') # 错了self.assertEqual('a','a',msg = '错了') # OKself.assertNotEqual('a','b',msg = '错了') # OKself.assertIn(1,[2,3,4,5],msg = '错了') # 错了self.assertNotIn('a',[2,3,4,5],msg = '错了') # OKself.assertNotIn('a',{'a':1},msg = '错了') # 错了self.assertNotIn(1,{'a':1},msg = '错了') # OK self.assertTrue(6 == 6,msg = '错了') # OKself.assertTrue(bool(3) is False,msg = '错了') # 错了self.assertFalse(bool is False,msg = '错了') # OK class People:print('我是人类')class Dog:print('我是犬类') xiaoming = People()gouzi = Dog()self.assertIsInstance(gouzi,People,msg = '错了') # 报错self.assertNotIsInstance(xiaoming,People,msg = '错了') # 报错self.assertNotIsInstance(bool,int,msg = '错了') # OKself.assertIsInstance(False,int,msg = '错了') # OKself.assertIsInstance(3,bool,msg = '错了') # 报错 self.assertIsNone(None,msg = '错了') # OKself.assertIsNone(0,msg = '错了') # 报错self.assertIsNone('',msg = '错了') # 报错self.assertIsNone(None,msg = '错了') # OK def myfum():print('我是一个函数')self.assertIsNone(myfum,msg = '错了') # 报错self.assertIsNone(myfum(),msg = '错了') # OKself.assertIsNone(print,msg = '错了') # 报错self.assertIsNone(print(),msg = '错了') # OK def tearDown(self):print('测试结束') unittest.main()
总结 到此这篇关于Python中unittest的断言方法详解的文章就介绍到这了,更多相关Python unittest断言内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
推荐阅读
- 解决docker中ifconfig不可用的问题
- SAP|SAP 电商云的构建过程中涉及到的三种不同环境类型
- 消息中间件MQ的学习境界和路线
- 如何通过网络请求拿到我们的导航栏中所有菜单数据
- 中国信通院联合OpenMLDB邀您参加《开源数据库发展研究报告》调研问卷
- 操作系统原理总集|操作系统中的进程控制(如何实现进程控制 及 进程的创建、终止、阻塞、唤醒、切换)
- Java|一个小的知识点 —— Java中三种初始化数据域的方法
- sklearn|Python三种方法计算皮尔逊相关系数以及实现给定数据集,返回数据集中每个特征和标签的相关系数
- [笨叔点滴16]那些狗日的面试必考题(中断管理篇)
- vue中如何获取本地IP地址