python assert断言函数

python assert断言是声明布尔值必须为真的判定,如果发生异常就说明表达式为假。可以理解assert断言语句为raise-if-not,用来测试表示式,其返回值为假,就会触发异常。

self.assertEqual(a,b,msg=msg)   #判断a与.b是否一致,msg类似备注,可以为空

self.assertNotEqual(a,b,msg=msg)  #判断a与b是否不一致

self.assertTrue(a,msg=none)    #判断a是否为True

self.assertFalse(b,msg=none)   #判断b是否为false

self.assertAlmostEqual(a,b,places=none,msg=none,delta=none)   #该判断过程有点复杂,判断过程如下

注:places与delta不能同时存在,否则出异常

#若a==b,则直接输入正确,不判断下面的过程

#若delta有数,places为空,判断a与b的差的绝对值是否<=delta,满足则正确,否则错误

#若delta为空,places有数,判断b与a的差的绝对值,取小数places位,等于0则正确,否则错误

#若delta为空,places为空,默认赋值places=7判断

例 assertAlmostEqual(2,2) 正确,

assertAlmostEqual(5,2,delta=4) 正确

assertAlmostEqual(5,2,delta=2) 错误

assertAlmostEqual(2,2.005,places=1) 正确

assertAlmostEqual(2,2.05,places=3) 错误

self.assertNotAlmostEqual(a,b,places=none,msg=none,delta=none)  同上,但判断相反

注,delta与places不能同时存在,否则抛出异常

例  assertNotAlmostEqual(2,2) 错误

assertNotAlmostEqual(a,b,delta=c)  #a不等于b 同时 a-b>c 则正确,否则错误

assertNotAlmostEqual(a,b,places=2)

#a不等于b 同时|b-a|*0,01 不等于0 则正确,否则错误

self.assertSequenceEqual  #有空在研究,源码很长

self.assertListEqual #有空研究

self.assertTupleEqual #有空在研究

self.assertSetEqual #有空在研究

self.assertIn(a,b) 判断a in b是否成立,正确则True,否则为False

例: assertIn(“2” in “23”)  成功

assertIn(“1” in “23”)  失败

self.assertNotIn(a,b) 判断a in b是否成立,不成立则True 否则 False

例:assertIn(“2” in “23”)  失败

assertIn(“1” in “23”)  成功

self.assertIs(a,b) 判断a 与b的对象是否相同,成立则True,否则False

注,判断是否同一对象  id(a) 若id相同,则为同一对象

例 a,b=1,1.0

assertls(a,b)  失败

a,b=1,1

assertls(a,b)  成功

self.assertIsNot(a,b) 判断a 与b的对象是否相同,不成立True,否则False

self.assertDictEqual(a,b) #判断字典a和字典b是否相等,a,b为字典

self.assertDictContainsSubset

self.assertItemsEqual(a,b) #比较两字符串是否一致,同sorted(a)==sorted(b)

注:sorted排序,方法内部为,将a,b分别list,生成各自列表,在sorted排序在比对

self.assertMultiLineEqual(a,b) #比较a文本与b文本是否一致,即便多了个换行,也会区分

self.assertLess(a,b) #判断a<b 成立则通过,否则失败

self.assertLessEqual  #判断a<=b 成立则通过,否则失败

self.assertGreater  #判断a>b 成立则通过,否则失败

self.assertGreaterEqual  #判断a>=b 成立则通过,否则失败

self.assertIsNone(obj=””) #判断obj=None 成立则通过,否则失败

self.assertIsNotNone #判断obj=None 成立则失败,否则通过

self.assertIsInstance(a,b) #判断a的数据类型是否为b,isinstance(a,b) 成立则通过,否则失败

self.assertNotIsInstance  #判断同上相反

self.assertRaisesRegexp  #正则判断匹配,没仔细看,过程复杂

self.assertRegexpMatches(a,b) #正则匹配 同re.search(b,a)匹配有则成功,否则失败

注:a为匹配的正则表达式,必须字符型,b 为要匹配的内容

self.assertNotRegexpMatches #同上,判断相反

时间: 2024-11-05 12:25:58

python assert断言函数的相关文章

python assert使用说明

python assert断言的作用 python assert断言是声明其布尔值必须为真的判定,如果发生异常就说明表达示为假. assert断言语句的语法格式 判断a与1.b是否一致,msg类似备注,可以为空self.assertEqual(a,b,msg=msg) 判断a与b是否不一致self.assertNotEqual(a,b,msg=msg) 判断a是否为Trueself.assertTrue(a,msg=none) 判断b是否为falseself.assertFalse(b,msg=

Python assert作用

使用assert断言是学习python一个非常好的习惯,python assert 断言句语格式及用法很简单.在没完善一个程序之前, 我们不知道程序在哪里会出错.与其让它在运行最后崩溃,不如在出现错误条件时就崩溃,这时候就需要assert断言的帮助. 本文主要是讲assert断言的基础知识. python assert断言的作用 python assert断言是声明其布尔值必须为真的判定,如果发生异常就说明表达示为假.可以理解assert断言语句为raise-if-not,用来测试表示式, 其返

assert断言用法

使用assert断言是学习python一个非常好的习惯,python assert 断言句语格式及用法很简单.在没完善一个程序之前,我们不知道程序在哪里会出错,与其让它在运行最崩溃,不如在出现错误条件时就崩溃,这时候就需要assert断言的帮助.本文主要是讲assert断言的基础知识. python assert断言的作用 python assert断言是声明其布尔值必须为真的判定,如果发生异常就说明表达式为假.可以理解assert断言语句为raise-if-not,用来测试表示式,其返回值为假

Python技巧--02(assert断言)

断言是什么 Python assert(断言)用于判断一个表达式,在表达式条件为 false 的时候触发异常. 运用断言 example1(商店打折): def apply_discount(product, discount): price = int(product['price'] * (1.0 - discount)) assert 0 <= price <= product['price'] print(price) shoes = {'name': 'nike', 'price':

Python系列-python内置函数

abs(x) 返回数字的绝对值,参数可以是整数.也可以是浮点数.如果是复数,则返回它的大小 all(iterable) 对参数中的所有元素进行迭代,如果所有的元素都是True,则返回True,函数等价于 def any(iterable): for element in iterable: if element: return True return False any(iterable) 对参数中的所有元素进行迭代判断,只要一个元素为真,函数返回True.函数等价于 def any(itera

python测试断言

这几天看了一下python的测试,基于函数方法和基于类的测试,主要使用的模块是unittest模块,为特定的方法和类,建立测试模块,测试函数功能是否满足预期.下面是模仿书里面的一个例子. City.py模块 def city(city_name,country_name): full_city_name = city_name +','+country_name return full_city_name 为这个模块创建一个测试模块,主要是为了测试这个city方法是否能够满足预期. assert

python 集合、函数

*集合: set:持有一系列元素,但是set元素没有重复,并且无序 如何创建:set()并传入一个list,list的元素将作为set 的元素. s=set(['a','b','c']) print(s)    //set(['a', 'c', 'b']) print(len(s))  //3 如何访问:用in操作符判断有没有 =([,,,]) ( )//True set的特点: 1.内部结构和字典很像,唯一区别是不存储value =([,,,,,,]) x1=x2=x1 :     () (x

C++ ASSERT() 断言机制

C++ ASSERT() 断言机制 ASSERT()是一个调试程序时经常使用的宏,在程序运行时它计算括号内的表达式,如果表达式为FALSE (0), 程序将报告错误,并终止执行.如果表达式不为0,则继续执行后面的语句.这个宏通常原来判断程序中是否出现了明显非法的数据,如果出现了终止程序以免导致严重后果,同时也便于查找错误. 原型定义: #include <assert.h> void assert( int expression_r_r_r ); assert的作用是现计算表达式 expres

python assert: 自动生成错误信息

用过python assert的朋友应该会经常碰到这样的疑惑,如: (a,b) = (1,'1') assert a==b     # error: AssertionError 在代码调试的时候,很难直观的看出为什么错了,除非写成这样: assert 1=='1',  "fact==expect, [fact]=%s, [expect]=%s" % ([a],[b])    # AssertionError: fact==expect, [fact]=[1], [expect]=['