codecamp

doctest 检查Docstrings中的示例

开始使用doctest的最简单的方法(但不一定是您继续这样做的方式)是结束每个模块M:

if __name__ == "__main__":
    import doctest
    doctest.testmod()

然后doctest在模块中检查文档字符串M。

将模块作为脚本运行会导致文档字符串中的示例得到执行和验证:

python M.py

这将不会显示任何东西,除非一个例子失败,在这种情况下,失败的例子和失败的原因被打印到标准输出,并且输出的最后一行是***Test Failed*** N failures.,其中N是数字失败的例子。

改为使用开关运行-v:

python M.py -v

并且所有尝试过的示例的详细报告都会打印到标准输出,并在最后列出各种摘要。

您可以通过传递verbose=True来强制详细模式testmod(),或通过传递来禁止它verbose=False。在任何一种情况下,sys.argv都不会被检查testmod()(如此通过-v或没有影响)。

自Python 2.6以来,还有一个用于运行的命令行快捷方式testmod()。您可以指示Python解释器直接从标准库运行doctest模块,并在命令行上传递模块名称:

python -m doctest -v example.py

这将example.py作为独立模块导入并testmod()在其上运行。请注意,如果文件是软件包的一部分并从该软件包导入其他子模块,则可能无法正常工作。

有关更多信息testmod(),请参阅基本API一节。


doctest 简介
doctest 检查文本文件中的示例
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }