unittest中的断言使用
unittest中断言主要有三种类型:
1.基本的布尔断言,即:要么正确,要么错误的验证
2.比较断言,如比较两个变量的值(跟上面的布尔断言区别不大,主要是通过比较两个变量的值得出布尔值)
3.复杂断言(一般用的比较少,像断言两个列表、元组等)
具体字段如下:
assertEqual(a, b, msg='测试失败时打印的信息') # a == b 断言a和b是否相等,相等则测试用例通过 assertNotEqual(a, b, msg='测试失败时打印的信息') # a != b 断言a和b是否相等,不相等则测试用例通过 assertTrue(x, msg='测试失败时打印的信息') # x is True 断言x是否True,是True则测试用例通过 assertFalse(x, msg='测试失败时打印的信息') # x is False 断言x是否False,是False则测试用例通过 assertIn(a, b, msg='测试失败时打印的信息') # a in b 断言a是否在b中,在b中则测试用例通过 assertNotIn(a, b, msg='测试失败时打印的信息') # a not in b 断言a是否在b中,不在b中则测试用例通过 assertIsNone(x,msg='测试失败时打印的信息') # x is None 断言x是否None,是None则测试用例通过 assertIsNotNone(x, msg='测试失败时打印的信息') # x not is None 断言x是否None,不是None则测试用例通过 assertIs(a, b, msg='测试失败时打印的信息') # a is b 断言a是否是b,是则测试用例通过 assertNotIs(a, b, msg='测试失败时打印的信息') # a not is b 断言a是否是b,不是则测试用例通过 assertIsInstance(a, b, msg='测试失败时打印的信息') # 断言a是是b的一个实例,是则测试用例通过 assertNotIsInstance(a, b, msg='测试失败时打印的信息') # 断言a是是b的一个实例,不是则测试用例通过
assertAlmostEqual (first, second, places = 7, msg = None, delta = None) # 验证first约等于second。 palces: 指定精确到小数点后多少位,默认为7 assertNotAlmostEqual (first, second, places, msg, delta) # 验证first不约等于second。 palces: 指定精确到小数点后多少位,默认为7 # 注: 在上述的两个函数中,如果delta指定了值,则first和second之间的差值必须≤delta assertGreater (first, second, msg = None) # 验证first > second,否则fail assertGreaterEqual (first, second, msg = None) # 验证first ≥ second,否则fail assertLess (first, second, msg = None) # 验证first < second,否则fail assertLessEqual (first, second, msg = None) # 验证first ≤ second,否则fail assertRegexpMatches (text, regexp, msg = None) # 验证正则表达式regexp搜索匹配的文本text。 regexp:通常使用re.search() assertNotRegexpMatches (text, regexp, msg = None) # 验证正则表达式regexp搜索不匹配的文本text。 regexp:通常使用re.search()