doctest
是 Python 标准库中的一个模块,用于测试模块中的文档字符串中的示例代码。它可以确保文档字符串中的示例代码与实际代码行为一致,并且可以作为文档的一部分保持更新。
以下是一个简单的示例,演示如何使用 doctest
模块:
def add(a, b):
"""
返回两个数字的和。
>>> add(2, 3)
5
>>> add(-1, 1)
0
"""
return a + b
if __name__ == "__main__":
import doctest
doctest.testmod()
在这个例子中,add()
函数有两个参数,并且有一个文档字符串,其中包含了一些示例用法和期望的输出。在 if __name__ == "__main__":
部分,我们导入了 doctest
模块,并调用了 doctest.testmod()
函数。这将会执行 add()
函数中文档字符串中的示例代码,并与实际的函数行为进行比较。如果有任何不匹配,doctest
将会抛出异常,显示哪些示例失败了。
可以通过运行脚本来查看测试结果,如果所有的测试都通过,则不会有任何输出,否则将会显示测试失败的详细信息。
需要注意的是,doctest
并不适用于所有情况,尤其是对于一些需要复杂环境或输入的测试场景。通常用于简单的单元测试或文档测试。