python基础

doctest文档测试

2017-09-25  本文已影响26人  徐子鑑

doctest非常有用,不但可以用来测试,还可以直接作为示例代码。通过某些文档生成工具,就可以自动把包含doctest的注释提取出来。用户看文档的时候,同时也看到了doctest。

例:

def fact(n):
    '''
    >>> fact(1)  #注意:>>>后面有一个空格
    1
    >>> fact(0)
    Traceback (most recent call last):
    ...
    ValueError
    >>> fact(10)
    3628800
    '''
    if n<1:
        raise ValueError()
    if n ==1:
        return 1
    return n*fact(n-1)

if __name__ == '__main__':
    import doctest #引入doctest测试模块
    doctest.testmod()  #调用doctest测试模块

注意到最后3行代码。当模块正常导入时,doctest不会被执行。只有在命令行直接运行时,才执行doctest。所以,不必担心doctest会在非测试环境下执行。

上一篇 下一篇

猜你喜欢

热点阅读