Python TestCase中的断言方法介绍
程序员文章站
2023-11-23 19:46:28
前言
测试是一个贯穿于整个开发过程的连续过程,从某个意义上说,软件开发的过程实际上就是测试过程。正如martin fowler所说的"在你不知道如何测试代码之前,就不该编...
前言
测试是一个贯穿于整个开发过程的连续过程,从某个意义上说,软件开发的过程实际上就是测试过程。正如martin fowler所说的"在你不知道如何测试代码之前,就不该编写程序。而一旦你完成了程序,测试代码也应该完成。除非测试成功,你不能认为你编写出了可以工作的程序。"
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
。
除此之外,还提供了很多断言方法哦:
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对的支持。