04. 断言
2024年10月28日大约 1 分钟
04. 断言
1. UnitTest断言介绍
断言
- 让程序代替人为判断测试程序执行结果是否符合预期结果的过程
为什么要学习断言?
提高测试效率
实现自动化测试(让脚步在无人值守状态下运行)
说明
UnitTest中提供了非常丰富的断言方法,请参考附件资料
复杂的断言方法在自动化测试中几乎使用不到,所以我们只需要掌握几个常用的即可
2. 常用的UnitTest断言方法
序号 | 断言方法 | 断言描述 |
---|---|---|
1 | assertTrue(expr, msg=None) | 验证expr是true,如果为false,则fail |
2 | assertFalse(expr, msg=None) | 验证expr是false,如果为true,则fail |
3 | assertEqual(expected, actual, msg=None) | 验证expected==actual,不等则fail 【掌握】 |
4 | assertNotEqual(first, second, msg=None) | 验证first != second, 相等则fail |
5 | assertIsNone(obj, msg=None) | 验证obj是None,不是则fail |
6 | assertIsNotNone(obj, msg=None) | 验证obj不是None,是则fail |
7 | assertIn(member, container, msg=None) | 验证是否member in container【掌握】 |
8 | assertNotIn(member, container, msg=None) | 验证是否member not in container |
3. 断言使用方式
如何使用断言?
断言方法已经在unittest.TestCase类中定义了
我们自定义的测试类已经继承了TestCase
所以在测试方法中直接调用父类中的断言方法即可
import unittest def add(x, y): return x + y class TestAssert(unittest.TestCase): def test01(self): num = add(1, 2) # 断言 self.assertEqual(3, num, msg='断言失败') def test02_equal_1(self): self.assertEqual(10, 10) # 用例通过 def test03_assert_2(self): self.assertEqual(10, 11, msg='断言失败') # 用例不通过 def test04_in(self): self.assertIn('admin', '欢迎 admin 登录') # 包含 通过 self.assertIn('admin', '欢迎 adminnnnnnnn 登录') # 包含 通过 self.assertIn('admin', '欢迎 aaaaaadminnnnnnnn 登录') # 包含 通过 self.assertIn('admin', '欢迎 adddddmin 登录') # 不包含 不通过 self.assertIn('admin', 'admin') # 包含 通过