美文网首页
python_单元测试常用断言assert

python_单元测试常用断言assert

作者: 忘了呼吸的那只猫 | 来源:发表于2018-09-11 17:25 被阅读54次

python自动化测试中寻找元素并进行操作,如果在元素好找的情况下,相信大家都可以较熟练地编写用例脚本了,但光进行操作可能还不够,有时候也需要对预期结果进行判断。

常用

这里介绍几个常用断言的使用方法,可以一定程度上帮助大家对预期结果进行判断。-

assertEqual

assertNotEqual

assertTrue

assertFalse

assertIsNone

assertIsNotNone

assertEqual 和 assertNotEqual

assertEqual:如两个值相等,则pass

assertNotEqual:如两个值不相等,则pass

使用方法:

assertEqual(first,second,msg)其中first与second进行比较,如果相等则通过;msg为失败时打印的信息,选填;断言assertNotEqual反着用就可以了。

assertTrue和assertFalse

assertTrue:判断bool值为True,则pass

assertFalse:判断bool值为False,则Pass

使用方法:

assertTrue(expr,msg)其中express输入相应表达式,如果表达式为真,则pass;msg选填;断言assertFalse如果表达式为假,则pass

assertIsNone和assertIsNotNone

assertIsNone:不存在,则pass

assertIsNotNone:存在,则pass

使用方法:

assertIsNone(obj,msg)检查某个元素是否存在

总结:

常用

assertEqual(a, b)    a == b      assertNotEqual(a, b)    a != b      assertTrue(x)    bool(x)isTrueassertFalse(x)    bool(x)isFalseassertIs(a, b)    aisb2.7assertIsNot(a, b)    aisnotb2.7assertIsNone(x)    xisNone2.7assertIsNotNone(x)    xisnotNone2.7assertIn(a, b)    ainb2.7assertNotIn(a, b)    anotinb2.7assertIsInstance(a, b)    isinstance(a, b)2.7assertNotIsInstance(a, b)notisinstance(a, b)2.7

其它

assertAlmostEqual(a, b)    round(a-b,7) ==0assertNotAlmostEqual(a, b)    round(a-b,7) !=0assertGreater(a, b)    a > b2.7assertGreaterEqual(a, b)    a >= b2.7assertLess(a, b)    a < b2.7assertLessEqual(a, b)    a <= b2.7assertRegexpMatches(s, re)    regex.search(s)2.7assertNotRegexpMatches(s, re)notregex.search(s)2.7assertItemsEqual(a, b)    sorted(a) == sorted(b)andworkswithunhashable objs2.7assertDictContainsSubset(a, b)    all the key/value pairsina existinb2.7assertMultiLineEqual(a, b)    strings2.7assertSequenceEqual(a, b)    sequences2.7assertListEqual(a, b)    lists2.7assertTupleEqual(a, b)    tuples2.7assertSetEqual(a, b)    setsorfrozensets2.7assertDictEqual(a, b)    dicts2.7assertMultiLineEqual(a, b)    strings2.7assertSequenceEqual(a, b)    sequences2.7assertListEqual(a, b)    lists2.7assertTupleEqual(a, b)    tuples2.7assertSetEqual(a, b)    setsorfrozensets2.7assertDictEqual(a, b)    dicts2.7

使用时机:

那么我们什么时候应该使用断言呢?如果没有特别的目的,断言应该用于如下情况:

防御性的编程

运行时对程序逻辑的检测

合约性检查(比如前置条件,后置条件)

程序中的常量

检查文档

例:防御性编程中添加断言

在代码开始添加注释是个好的开端,但是人们都不太喜欢读和更新这些注释,这些注释会很快变得过时。但对于断言,我们可以同时对这块代码编写文档,如果这些断言被违反了,会直接引起一个简单而又直接的失败。

asserttargetin(x, y, z)iftarget ==x:      run_x_code()eliftarget ==y:    run_y_code()else:asserttarget == z    run_z_code()

作者:古佛青灯度流年

链接:https://www.jianshu.com/p/eea0b0e432da

來源:简书

简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

相关文章

  • python_单元测试常用断言assert

    python自动化测试中寻找元素并进行操作,如果在元素好找的情况下,相信大家都可以较熟练地编写用例脚本了,但光进行...

  • python_常用断言assert

    python自动化测试中寻找元素并进行操作,如果在元素好找的情况下,相信大家都可以较熟练地编写用例脚本了,但光进行...

  • maven tests

    (一)关于断言assert 断言assert与异常exception的区别在于:1、断言用于调试代码2、异常用于捕...

  • pytest-断言(assert)+setup

    一、常用断言 assert xx ,"判断 %s 为真" %xx assert not xx ,"判断 %s 不为...

  • C++11笔记:静态断言

    断言(assert) 断言(assert)是一种编程中常用的手段。断言就是将一个返回值总需要为真的判别式放在语句中...

  • Selenium+python之断言使用

    1、常用的断言: 2、异常类型: 3、UnitTest框架中的断言 例子: 也可以这么用assert断言: 4、w...

  • python unittest之断言及示例

    前言 python unintest单元测试框架提供了一整套内置的断言方法。 如果断言失败,则抛出一个Assert...

  • 自定义断言的实现方法

    断言定义 熟悉单元测试的同学都知道在测试用例中,执行完测试用例后,通过断言(assert)判断测试结果是pass还...

  • 断言NSAssert

    NSAssert与assert NSAssert和assert是断言,主要的差别是assert在断言失败的时候只是...

  • NSAssert断言

    NSAssert与assert NSAssert和assert是断言,主要的差别是assert在断言失败的时候只是...

网友评论

      本文标题:python_单元测试常用断言assert

      本文链接:https://www.haomeiwen.com/subject/ffnugftx.html