首先通过一个demo我们来看看,python unittest框架中的几种断言方式:4
# _*_ coding:utf-8 _*_
import unittest
class pythonTest(unittest.TestCase):
def test01(self):
self.assertEqual(2 + 5, 7)
def test02(self):
self.assertNotEqual(4 * 2, 8)
def test03(self):
self.assertTrue(3 + 5 == 8, "断言True")
def test04(self):
self.assertTrue(4 + 5 == 9, "断言失败")
def test05(self):
self.assertIn(3, [1, 2, 3])
def test06(self):
self.assertNotIn(3, range(5))
if __name__ == '__main__':
unittest.main()
python unintest单元测试框架提供了一整套内置的断言方法。
1. 如果断言失败,则抛出一个AssertionError,并标识该测试为失败状态。
2. 如果成功,则标识该测试为成功状态。
下面我们看下在unittest框架中定义了哪几类断言方法:
1. 基本的Boolean断言,即:True或者False的验证
2. 简单比较断言,例如比较a,b两个变量的值
3. 复杂断言
我们在pycharm输入self.assert可以看出补全出了很多断言方式
整理上来说用的最多的无非就是如下:
下面我们看下各种比较断言:
1. assertAlmostEqual (first, second, places = 7, msg = None, delta = None)
验证first约等于second。 palces: 指定精确到小数点后多少位,默认为7
2. assertNotAlmostEqual (first, second, places, msg, delta)
验证first不约等于second。 palces: 指定精确到小数点后多少位,默认为7
注: 在上述的两个函数中,如果delta指定了值,则first和second之间的差值必须≤delta
3. assertGreater (first, second, msg = None)
验证first > second,否则fail
4. assertGreaterEqual (first, second, msg = None)
验证first ≥ second,否则fail
5. assertLess (first, second, msg = None)
验证first < second,否则fail
6. assertLessEqual (first, second, msg = None)
验证first ≤ second,否则fail
7. assertRegexpMatches (text, regexp, msg = None)
验证正则表达式regexp搜索匹配的文本text。 regexp:通常使用re.search()
8. assertNotRegexpMatches (text, regexp, msg = None)
验证正则表达式regexp搜索不匹配的文本text。 regexp:通常使用re.search()