如何在Python中使用TestCase实现一个断言功能?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
Python TestCase断言方法
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实现一个断言功能的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注亿速云行业资讯频道,感谢各位的阅读!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。