1、先认识Unittest断言
1)断言就是判断实际结果与预期结果是否一致;
2)虽然 Python 中也有自带的断言,但是最好还是使用Unittest自己的断言,比较好用;
3)unittest断言是在TestCase中实现的,需要在继承TestCase后才能使用断言;
2、常见断言方法
assertEqual(a,b):检查a和b是否相等
assertTrue(a):检查a是不是为true
assertIs(a,b):检查a和b是不是完全一样(assert is)
assertIsNone(a):检查a是不是None
assertIn(a,b):检查a是不是b的子集
assertIsInstance(a,b):检查a、b两个对象实例类型是否相同
3、例子
unittest_assert_demo.py
# 断言
import unittest
class AssertDemo(unittest.TestCase):
def setUp(self):
self.l1, self.l2 = [1, 2], [1, 2]
self.a, self.b = 1, 1
def test01_assertEqual(self):
self.assertEqual(self.a, self.b) # a和b相等
def test02_assertIs(self):
self.assertIs(self.l1, self.l2) # l1和l2不相同
self.assertIs(self.a, self.b) # a和b相同
def test03_assertTrue(self):
self.assertTrue(self.a) # 1 是true
self.assertTrue(0) # 0 是false
def test04_assertIsNone(self):
self.assertIsNone(self.b) # 1 不是 None
self.assertIsNone(None) # None 是 None
def test05_assertIn(self):
self.assertIn(self.l1, self.l2) # l1 不是l2的子集
def test06_assertIsInstance(self):
self.assertIsInstance(self.a, int) # a是int整型
self.assertIsInstance(self.l1, list) # l1是list列表型
if __name__ == '__main__':
unittest.main()



