python自动化测试常用断言API

开发环境:appium Android python

摘要:最近进行自动化测试,经常使用断言,在此总结一些unittest的TestCase类提供的常用assert方法。

具体:

方法检查新的
assertEqual(a, b) == b  
assertNotEqual(a, b) != b  
assertTrue(x) bool(x) 是 True  
assertFalse(x) bool(x) 是 False  
assertIs(a, b) 是 b 3.1
assertIsNot(a, b) 是 不是 b 3.1
assertIsNone(x) 是  3.1
assertIsNotNone(x) 是 不是  3.1
assertIn(a, b) 在 b 3.1
assertNotIn(a, b) 不是 在 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中的新功能

posted @ 2018-02-09 15:19  caolc  阅读(3093)  评论(0编辑  收藏  举报