美文网首页程序员程序园
说说 Python TestCase 中的断言方法

说说 Python TestCase 中的断言方法

作者: deniro | 来源:发表于2019-05-01 13:44 被阅读69次

    unittest.TestCase 类中提供了很多断言方法, 通过这些断言方法,我们就可以检查程序逻辑是否符合预期。

    方法 说明
    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,它的方法签名是这样的:

    def assertAlmostEqual(self, first, second, places=None, msg=None,
                              delta=None)
    

    delta 表示 second - first 的差值绝对值范围,举个例子,以下断言都是正确的:

    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,则断言通过。

    以下断言都是正确的:

    self.assertAlmostEqual(2, 1.98, places=1)
    self.assertNotAlmostEqual(2, 1.98, places=2)
    

    注意: places 与 delta 不能同时存在,否则会抛出 TypeError: specify delta or places not both。

    除此之外,还提供了很多断言方法哦:

    相关文章

      网友评论

        本文标题:说说 Python TestCase 中的断言方法

        本文链接:https://www.haomeiwen.com/subject/cpuinqtx.html