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文档。