我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Python中unittest的断言方法详解

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Python中unittest的断言方法详解

断言方法:

        是unittest提供的一组方法,可以通过这些方法完成期望结果和实际结果的对比

方法有:

assert+空格+要判断的语句+逗号+'报错语句'        python提供

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 unittest
class Test(unittest.TestCase):
	def setUp(self):
		print('测试开始')
	def testEqual(self):
		self.assertEqual(10,100,msg = '错了')	# 错了
		self.assertEqual('a','a',msg = '错了')	# OK
		self.assertNotEqual('a','b',msg = '错了')	# OK
		self.assertIn(1,[2,3,4,5],msg = '错了')	# 错了
		self.assertNotIn('a',[2,3,4,5],msg = '错了')	# OK
		self.assertNotIn('a',{'a':1},msg = '错了')	# 错了
		self.assertNotIn(1,{'a':1},msg = '错了')	# OK
 
		self.assertTrue(6 == 6,msg = '错了')	# OK
		self.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 = '错了')	# OK
		self.assertIsInstance(False,int,msg = '错了')	# OK
		self.assertIsInstance(3,bool,msg = '错了')	# 报错
 
		self.assertIsNone(None,msg = '错了')	# OK
		self.assertIsNone(0,msg = '错了')	# 报错
		self.assertIsNone('',msg = '错了')	# 报错
		self.assertIsNone(None,msg = '错了')	# OK
 
		def myfum():
			print('我是一个函数')
		self.assertIsNone(myfum,msg = '错了')	# 报错
		self.assertIsNone(myfum(),msg = '错了')	# OK
		self.assertIsNone(print,msg = '错了')	# 报错
		self.assertIsNone(print(),msg = '错了')	# OK
	def tearDown(self):
		print('测试结束')
 
unittest.main()

总结

到此这篇关于Python中unittest的断言方法详解的文章就介绍到这了,更多相关Python unittest断言内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Python中unittest的断言方法详解

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

详解Python中Pytest和Unittest的区别

Pytest 和 Unittest是Python中属于最常用的两个测试框架。那么他们有些什么区别呢? Playwright 为什么只给了Pytest的深度支持,而不是Unittest呢?本文就来和大家详细聊聊
2023-03-13

python中assert断言的用法

>>> assert 1 == 0Traceback (most recent call last):  File "", line 1, in AssertionError>>> assert 1 == 1a
2023-01-31

python的断言方法怎么使用

Python中的断言方法是assert语句,用于在代码中检测某个条件是否为真,如果为假,则引发AssertionError异常。使用方法如下:```pythonassert condition, message```其中,condition
2023-05-25

详解Python中的断点类型

Python提供了多种断点类型,每种类型具有不同功能。线断点暂停执行在特定行上;条件断点在满足特定条件时暂停执行;异常断点在发生异常时暂停执行;函数断点在进入或离开指定函数时暂停执行;模块断点在导入或执行指定模块时暂停执行;类断点在执行类时暂停执行。此外,还有高级断点类型,如断点命令、日志断点和条件表达式断点。选择正确的断点类型取决于要调试的特定问题。
详解Python中的断点类型
2024-04-02

解析Golang中断言的作用和使用方法

Golang断言的作用及使用方法解析在Golang中,断言(assertion)是一种将接口值转换为具体类型的操作。断言通常用于在运行时确定接口值是否实现了特定的接口或具体类型,并根据判断结果来执行相应的逻辑处理。断言的主要作用是在类型
解析Golang中断言的作用和使用方法
2024-01-29

python中list方法详解

list是Python中的一种内置数据类型,代表一个可变的有序序列。list类型的对象可以使用多个方法来操作和修改其中的元素。文中通过代码示例详细介绍了list的常用方法,感兴趣的同学可以参考阅读
2023-05-17

python自动化断言的方法是什么

Python中有几种方法可以实现自动化断言:使用assert语句:assert语句用于检查某个条件是否为真,如果条件为假,则会抛出AssertionError异常。可以在代码中插入多个assert语句来检查多个条件。使用断言库:Python
2023-10-23

详解Python中魔法方法的使用

Python的魔法方法,也称为dunder(双下划线)方法,是可以让你对类添加“魔法”的特殊方法。本文主要来和大家聊聊魔法方法的使用,需要的可以参考一下
2022-12-19

利用Python中unittest实现简单的单元测试实例详解

前言 单元测试的重要性就不多说了,可恶的是Python中有太多的单元测试框架和工具,什么unittest, testtools, subunit, coverage, testrepository, nose, mox, mock, fix
2022-06-04

java中判断是否是闰年的方法详解

给定一个年份,判断是否是闰年。条件为:(推荐:java视频教程)A:能被4整除,并且不能被100整除。或者B:能被400整除。分析:首先题目中的A与B为两个判断闰年为真的选项,且属于“非A则B”的情况,在这里往往很容易想到如下结构来解决此问题if(判断条件A成
java中判断是否是闰年的方法详解
2019-04-13

Python中断言Assertion的一些改进方案

Python Assert 为何不尽如人意 Python中的断言用起来非常简单,你可以在assert后面跟上任意判断条件,如果断言失败则会抛出异常。>>> assert 1 + 1 == 2 >>> assert isinstance('H
2022-06-04

python中OrderedDict的使用方法详解

很多人认为python中的字典是无序的,因为它是按照hash来存储的,但是python中有个模块collections(英文,收集、集合),里面自带了一个子类 OrderedDict,实现了对字典对象中元素的排序。请看下面的实例:impor
2022-06-04

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录