文档测试
对于Python这种脚本语言来说,有很多情况都可以在命令行里直接执行,所以可以通过编写Python文件直接在命令行里看到测试的结果,就显得很方便。对于这种情况,Python专门有一个doctest
模块来帮助我们测试自己的代码。
最主要的作用就是能够把我们写的代码,以及我们预期的结果写下文件的注释里面,doctest类会自动帮我们提取出测试代码,并比较测试结果和预期结果,如果不一致的话,会在命令行里面显示错误,如果全部一致的话,命令行不会有出错提示。下面是一个小例子。
# -*- coding: utf-8 -*-
# temp.py
def fact(n):
'''
>>> fact(0)
Traceback (most recent call last):
...
ValueError
>>> fact(1)
1
>>> fact(2)
2
>>> print(fact(4))
6
'''
if n < 1:
raise ValueError()
if n == 1:
return 1
return n * fact(n - 1)
if __name__ == '__main__':
import doctest
doctest.testmod()
print(fact(3))
代开命令行,将目录转到文件所在的目录下面,输入下面的命令:
>>>python temp.py
运行结果如下:
而且if __name__ == '__main__':
保证了测试只会在命令行调用时才会起作用,在其他程序调用时是不会生效的。
又学到了一个挺有用的测试工具!!