unittest.TestCase 类中提供了不少断言方法, 经过这些断言方法,咱们就能够检查程序逻辑是否符合预期。bash
方法 | 说明 |
---|---|
assertEqual(x,y) | 验证 x = y |
assertNotEqual(x,y) | 验证 x != y |
assertTrue(x) | 验证 x 为 True |
assertFalse(x) | 验证 x 为 False |
assertIn(x , list ) | 验证 item 在 list 中 |
assertNotIn(item , list ) | 验证 item 不在 list 中 |
除了以上这些简单的断言方法以外,还提供了一些高级断言方法。好比 assertAlmostEqual,它的方法签名是这样的:spa
def assertAlmostEqual(self, first, second, places=None, msg=None,
delta=None)
复制代码
delta 表示 second - first 的差值绝对值范围,举个例子,如下断言都是正确的:code
self.assertAlmostEqual(1, 1)
self.assertAlmostEqual(2, 1, delta=1)
self.assertNotAlmostEqual(3, 1, delta=1)
复制代码
places 表示: second - first 的差值绝对值,对其取近似值,所保留的小数位数,形如:round(abs(first - second),places)
。若是结果为 0,则断言经过。cdn
如下断言都是正确的:blog
self.assertAlmostEqual(2, 1.98, places=1)
self.assertNotAlmostEqual(2, 1.98, places=2)
复制代码
注意: places 与 delta 不能同时存在,不然会抛出 TypeError: specify delta or places not both。ci
除此以外,还提供了不少断言方法哦:it