文档测试

2017-05-16  本文已影响48人  lusoer

文档测试

对于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__':保证了测试只会在命令行调用时才会起作用,在其他程序调用时是不会生效的。
  又学到了一个挺有用的测试工具!!

上一篇下一篇

猜你喜欢

热点阅读