python代码测试:doctest文档测试

octest 是 Python 标准库中的一个模块,用于测试文档字符串(docstring)中的示例代码。通过这种方式,开发者可以在文档中直接编写测试用例,确保代码示例的正确性。

用法示例

def add(a, b):
    """
    返回两个数的和。

    示例:
    >>> add(2, 3)
    4
    >>> add(-1, 1)
    0
    """
    return a + b

if __name__ == '__main__':
    import doctest
    doctest.testmod(verbose=True)
图片[1] - python代码测试:doctest文档测试 - 正则时光

运行方式

方法一:main方法执行

如示例中方法,直接在文件中执行

if __name__ == '__main__':
    import doctest
    doctest.testmod(verbose=True)

方法二:命令行执行

在终端命令行中使用如下代码执行

python3 -m doctest -v testing.py

方法三:独立文件中进行测试

如下所示,将测试用例写在单独的文件中。

图片[2] - python代码测试:doctest文档测试 - 正则时光

执行结果:

图片[3] - python代码测试:doctest文档测试 - 正则时光

注意事项

  1. 文档字符串格式:示例代码必须以 >>> 开头,后面紧跟要执行的代码。预期输出必须紧跟在代码之后,且不包含 >>>
  2. 空白字符doctest 对空白字符(如空格、制表符)非常敏感,确保示例代码和预期输出中的空白字符一致。
  3. 异常处理:如果示例代码会引发异常,可以在预期输出中包含异常信息,例如:
def divide(a, b):
    """
    返回两个数的商。

    示例:
    >>> divide(4, 2)
    2.0
    >>> divide(4, 0)
    Traceback (most recent call last):
    ...
    ZeroDivisionError: division by zero
    """
    return a / b

通过 doctest,开发者可以确保文档中的示例代码始终与实际代码行为一致,提高代码的可维护性和可靠性。

© 版权声明
THE END
喜欢就支持一下吧
点赞7 分享