【4-2】基于Python-unittest运用:unittest的断言
1. 常见的断言方法:
在python中的unittest标准测试库中断言的方法有很多,常用的断言方法:assertEqual、assertIn、assertTrue
同时,所有的断言方法都有一个msg参数,如果指定msg参数的值,则将该信息作为失败的错误信息返回。
| 断言方法 | 断言描述 | |
|---|---|---|
| 1 | assertEqual(arg1, arg2, msg=None) | 验证arg1=arg2,不等则fail |
| 2 | assertNotEqual(arg1, arg2, msg=None) | 验证arg1 != arg2, 相等则fail |
| 3 | assertTrue(expr, msg=None) | 验证expr是true,如果为false,则fail |
| 4 | assertFalse(expr,msg=None) | 验证expr是false,如果为true,则fail |
| 5 | assertIs(arg1, arg2, msg=None) | 验证arg1、arg2是同一个对象,不是则fail |
| 6 | assertIsNot(arg1, arg2, msg=None) | 验证arg1、arg2不是同一个对象,是则fail |
| 7 | assertIsNone(expr, msg=None) | 验证expr是None,不是则fail |
| 8 | assertIsNotNone(expr, msg=None) | 验证expr不是None,是则fail |
| 9 | assertIn(arg1, arg2, msg=None) | 验证arg1是arg2的子串,不是则fail |
| 10 | assertNotIn(arg1, arg2, msg=None) | 验证arg1不是arg2的子串,是则fail |
| 11 | assertIsInstance(obj, cls, msg=None) | 验证obj是cls的实例,不是则fail |
| 12 | assertNotIsInstance(obj, cls, msg=None) |
举例:unittest的断言,判断两个字典的数据是否相同
import unittest data = { "user": "test2" } class TestCase(unittest.TestCase): def setUp(self): """每个case执行开始都执行一次""" print("用例开始") def tearDown(self): """每个case执行结束都执行一次""" print("用例结束") # 那如何让执行此类才执行一次呢? @classmethod def setUpClass(cls): print("--类开始--") @classmethod def tearDownClass(cls): print("--类结束--") # 以下为用例 def test_case01(self): data1 ={ "user":"test1" } try: # 判断两个字典的属于是否正确 self.assertDictEqual(data1, data, msg="test_case01执行错误") print("test_case01执行成功") except: print("test_case01执行错误") def test_case02(self): data1 = { "user": "test2" } try: self.assertDictEqual(data1, data, msg="test_case02执行错误") print("test_case02执行成功") except: print("test_case02执行错误") if __name__ == "__main__": unittest.main()

浙公网安备 33010602011771号