python自动化测试常用断言API
开发环境:appium Android python
摘要:最近进行自动化测试,经常使用断言,在此总结一些unittest的TestCase类提供的常用assert方法。
具体:
方法 | 检查 | 新的 |
---|---|---|
assertEqual(a, b) |
a == b |
|
assertNotEqual(a, b) |
a != b |
|
assertTrue(x) |
bool(x) 是 True |
|
assertFalse(x) |
bool(x) 是 False |
|
assertIs(a, b) |
a 是 b |
3.1 |
assertIsNot(a, b) |
a 是 不是 b |
3.1 |
assertIsNone(x) |
x 是 无 |
3.1 |
assertIsNotNone(x) |
x 是 不是 无 |
3.1 |
assertIn(a, b) |
a 在 b |
3.1 |
assertNotIn(a, b) |
a 不是 在 b |
3.1 |
assertIsInstance(a, b) |
isinstance(a, b) |
3.2 |
assertNotIsInstance(a, b) |
不是 isinstance(a, b) |
3.2 |
assert方法都接受一个msg参数,如果指定,则用作失败时的错误消息(参见longMessage)。
1.assertEqual(first,second,msg=None)
该方法是测试first和second是否相等。如果值不相等,测试将失败。
此外,first与second是完全相同的类型以及list,tuple,dict,set,frozenset或str或子类注册addTypeEqualityFunc()
将调用类型特定的相等函数,以生成更有用的默认错误消息。
在版本3.1中已更改:添加了类型特定的相等函数的自动调用。
在版本3.2中更改: assertMultiLineEqual()
添加为用于比较字符串的默认类型相等函数
2.assertNotEqual(first,second,msg=None)
该方法是测试first与second不相等,如果值相等,测试将失败。
3.assertTrue(expr,msg=None)和assertFalse(expr,msg=None)
测试expr是true(或false)但当有更具体的方法可以使用时,应避免使用这种方法,例如,assertEqual(a,b)可判断a与b是否相等时,应使用assertEqual()方法,而不是assertTrue(a==b)因为他们在出现故障时提供更好的错误信息。
4.assertIsNone(expr,msg=None)和assertIsNotNone(expr,msg=None)
测试expr是不是无,这个是版本3.1的新功能。
5.assertIn(first,second,msg=None)和assertNotIn(first,second,msg=None)
测试first是否在second中
6.assertIsInstance(obj,cls,msg=None)和assertNotIsInstance(obj,cls,msg=None)
测试obj是不是cls的实例(它可以是类或类的元组,如isinstance() 支持。检查具体类型使用assertIs(type(obj),cls))
该方法是版本3.2中的新功能