zoukankan      html  css  js  c++  java
  • 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 #同上,判断相反

  • 相关阅读:
    【乱侃】How do they look them ?
    【softeware】Messy code,some bug of Youdao notebook in EN win7
    【随谈】designing the login page of our project
    【web】Ad in security code, making good use of resource
    SQL数据库内存设置篇
    关系数据库的查询优化策略
    利用SQL未公开的存储过程实现分页
    sql语句总结
    sql中使用cmd命令注销登录用户
    SQLServer 分页存储过程
  • 原文地址:https://www.cnblogs.com/dalongNOTES/p/8404042.html
Copyright © 2011-2022 走看看