doctest文档测试

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会在非测试环境下执行。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容