zoukankan      html  css  js  c++  java
  • unitest单元测试TestCase 执行测试用例(二) 断言

    我们在做接口自动化的时候会用当unittest框架,这个框架中是有assert方法

    当我们写好我们的case后 总要有个验证是否正确的东西,assert就给我们提供了非常强大的结果验证

    序号断言方法断言描述
    1 assertEqual(arg1, arg2, msg=None) 验证arg1=arg2,不等则fail
    2 assertNotEqual(arg1, arg2, msg=None) 验证arg1 != arg2, 相等则fail
    3 assertTrue(expr, msg=None) 验证expr是true,如果为false,则fail
    4 assertFalse(expr,msg=None) 验证expr是false,如果为true,则fail
    5 assertIs(arg1, arg2, msg=None) 验证arg1、arg2是同一个对象,不是则fail
    6 assertIsNot(arg1, arg2, msg=None) 验证arg1、arg2不是同一个对象,是则fail
    7 assertIsNone(expr, msg=None) 验证expr是None,不是则fail
    8 assertIsNotNone(expr, msg=None) 验证expr不是None,是则fail
    9 assertIn(arg1, arg2, msg=None) 验证arg1是arg2的子串,不是则fail
    10 assertNotIn(arg1, arg2, msg=None) 验证arg1不是arg2的子串,是则fail
    11 assertIsInstance(obj, cls, msg=None) 验证obj是cls的实例,不是则fail
    12 assertNotIsInstance(obj, cls, msg=None) 验证obj不是cls的实例,是则fail

    本次我们先介绍3种常用的方法,大家若想拓展更多的知识,可以拿以上列表自行尝试。

    分别是assertEqual,assertNotEqual,assertIn

    第一种断言:assertEqual

    断言相等

    assertEqual(arg1, arg2, msg=None) 验证arg1=arg2,不等则fail
    示例代码如下
    import unittest
    class test(unittest.TestCase):
    def testSubtract(self):
    a = 1
    b = 1
    self.assertEqual(a,b,msg=None)

    if __name__ == '__main__':
    unittest.main()

     我们执行一下错误的给大家看下

     从上图我们可以看到,a = 1  b = 2   当我们断言a == b 的时候,并没有成功,程序报错了。

    第二种断言:assertNotEqual

    我们刚刚讲了断言两个值是否相等,是assertequal,那么在NotEqual 也是可以直观看出,两个值不相等的断言方式

    示例代码:

    '''
    博客园:酸芒果
    作者:张天赐
    '''
    import unittest
    class test(unittest.TestCase):
    def testSubtract(self):
    a = 1
    b = 2
    self.assertNotEqual(a,b,msg='a与b相等')

    if __name__ == '__main__':
    unittest.main()

    如果相等我们看看执行结果

    第三种是assertIn

    断言某个元素是否在某个里面,在则断言成功,不在则失败

    示例代码:

    '''
    博客园:酸芒果
    作者:张天赐
    '''
    import unittest
    class test(unittest.TestCase):
    def testSubtract(self):
    a = [1,2,3,4,5,6,7]
    self.assertIn(7,a,msg='不在')

    if __name__ == '__main__':
    unittest.main()

    可以从代码看出,我们断言 7,a 的意思是7是否在a这个列表中,因为在,我们执行成功,后面的mag是失败后给的提示,所有我们并没有看到

    下面我们试下8 是否在a中

  • 相关阅读:
    经典SQL语句大全
    主键,外键,主键表,外间表
    一个不错的shell 脚本教程 入门级
    初窥Linux 之 我最常用的20条命令
    try catch finally 用法
    一个初学者对于MVC架构的理解
    第二次阶段冲刺2(6月1号)
    第二次阶段冲刺1(5月31号)
    学习进度条十三(第14周)
    学习进度条十二(第13周)
  • 原文地址:https://www.cnblogs.com/ztcbug/p/13524814.html
Copyright © 2011-2022 走看看