前言
测试是一个贯穿于整个开发过程的连续过程,从某个意义上说,软件开发的过程实际上就是测试过程。正如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,它的方法签名是这样的:
1
2
|
def assertalmostequal( self , first, second, places = none, msg = none, delta = none) |
delta 表示 second - first 的差值绝对值范围,举个例子,以下断言都是正确的:
1
2
3
|
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,则断言通过。
以下断言都是正确的:
1
2
|
self .assertalmostequal( 2 , 1.98 , places = 1 ) self .assertnotalmostequal( 2 , 1.98 , places = 2 ) |
注意: places 与 delta 不能同时存在,否则会抛出 typeerror: specify delta or places not both
。
除此之外,还提供了很多断言方法哦:
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对服务器之家的支持。
原文链接:https://juejin.im/post/5cc9321ff265da03914d6ffd