欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

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

Python TestCase中的断言方法介绍

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对的支持。