python unintest单元测试框架提供了一整套内置的断言方法。
如果断言失败,则抛出一个AssertionError,并标识该测试为失败状态
如果异常,则当做错误来处理 注意:以上两种方式的区别
如果成功,则标识该测试为成功状态
常用断言:
Method | Checks that | New in |
---|---|---|
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 | 2.7 |
assertIsNot(a, b) | a is not b | 2.7 |
assertIsNone(x) | x is None | 2.7 |
assertIsNotNone(x) | x is not None | 2.7 |
assertIn(a, b) | a in b | 2.7 |
assertNotIn(a, b) | a not in b | 2.7 |
assertIsInstance(a, b) | isinstance(a, b) | 2.7 |
assertNotIsInstance(a, b) | not isinstance(a, b) | 2.7 |
其他:
Method | Checks that | New in |
---|---|---|
assertRaises(exc, fun, *args, **kwds) | fun(*args, **kwds) raises exc | |
assertRaisesRegexp(exc, r, fun, *args, **kwds) | fun(*args, **kwds) raises exc and the message matches regex r | 2.7 |
assertAlmostEqual(a, b) | round(a-b, 7) == 0 | |
assertNotAlmostEqual(a, b) | round(a-b, 7) != 0 | |
assertGreater(a, b) | a > b | 2.7 |
assertGreaterEqual(a, b) | a >= b | 2.7 |
assertLess(a, b) | a < b | 2.7 |
assertLessEqual(a, b) | a <= b | 2.7 |
assertRegexpMatches(s, r) | r.search(s) | 2.7 |
assertNotRegexpMatches(s, r) | 检测正则表达式r不匹配s | 2.7 |
assertItemsEqual(a, b) | a和b中的元素相同,但顺序不一定相同 | 2.7 |
assertDictContainsSubset(a, b) | a是b的子集 | 2.7 |
assertMultiLineEqual(a, b) | 比较两个字符串 | 2.7 |
assertSequenceEqual(a, b) | 比较两个序列 | 2.7 |
assertListEqual(a, b) | 比较两个列表 | 2.7 |
assertTupleEqual(a, b) | 比较两个元组 | 2.7 |
assertSetEqual(a, b) | 比较两个冻结集合 | 2.7 |
assertDictEqual(a, b) | 比较两个字典 | 2.7 |
摘自python unittest文档。