doctest 检查Docstrings中的示例

2022-08-03 16:31 更新

开始使用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一节。


以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号