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中

原文地址:https://www.cnblogs.com/ztcbug/p/13524814.html