1、最常见断言方法
| 断言方法 | 检查条件 |
|---|---|
| assertEqual(a, b) | a == b |
| assertNotEqual(a, b) | a != b |
| assertTrue(x) | bool(x) is True |
| assertFalse(x) | bool(x) is False |
| assertIs(a, b) | a is b |
| assertIsNot(a, b) | a is not b |
| assertIsNone(x) | x is None |
| assertIsNotNone(x) | x is not None |
| assertIn(a, b) | a in b |
| assertNotIn(a, b) | a not in b |
| assertlsInstance(a, b) | isinstance(a, b) |
| assertNotIsInstance(a, b) | not isinstance(a, b) |
2、T与异常、错误、警告和日志相关的断言方法
| 断言方法 | 检查条件 |
|---|---|
| assertRaises(exc, fun, *args, **kwds) | fun(*args, **kwds) 引发 exc 异常 |
| assertRaisesRegex(exc, r, fun, *args, **kwds) | fun(*args, **kwds) 引发 exc 异常,且异常信息匹配 r 正则表达式 |
| assertWarns(warn, fun, *args, **kwds) | fun(*args, **kwds) 引发 warn 警告 |
| assertWamsRegex(warn, r, fun, *args, **kwds) | fun(*args, **kwds) 引发 warn 警告,且警告信息匹配 r 正则表达式 |
| assertLogs(logger, level) | With 语句块使用日志器生成 level 级别的日志 |
3、用于完成某种特定检查的断言方法
| 断言方法 | 检查条件 |
|---|---|
| assertAlmostEqual(a, b) | round(a-b, 7) == 0 |
| assertNotAlmostEqual(a, b) | round(a-b, 7) != 0 |
| assertGreater(a, b) | a > b |
| assertGreaterEqual(a, b) | a >= b |
| assertLess(a, b) | a < b |
| assertLessEqual(a, b) | a <= b |
| assertRegex(s, r) | r.search(s) |
| assertNotRegex(s, r) | not r.search(s) |
| assertCountEqual(a, b) | a、b 两个序列包含的元素相同,不管元素出现的顺序如何 |
4、针对特定类型的断言方法
| 断言方法 | 用于比较的类型 |
|---|---|
| assertMultiLineEqual(a, b) | 字符串(string) |
| assertSequenceEqual(a, b) | 序列(sequence) |
| assertListEqual(a, b) | 列表(list) |
| assertTupleEqual(a, b) | 元组(tuple) |
| assertSetEqual(a, b) | 集合(set 或frozenset) |
| assertDictEqual(a, b) | 字典(dict) |









网友评论