【Python教程】Python - doctest模块文档测试

根据 ‘C语言中文网’ 该链接下的文章学习整理,点击此处即可访问。本文对此进行了提炼精简并做了适当的修改,如有侵权请私信我删除。


所谓文档测试,指的是通过 python 的 doctest 模块运行 python 源文件的说明文档中的测试用例,从而生成测试报告。

文档测试工具可以提取说明文档中的测试用例,其中 “>>>” 之后的内容表示测试用例,接下来的一行则表示该测试用例的输入结果。
文档测试工具会判断测试用例的运行结果与输出结果是否一致,如果不一致就会显示错误信息。

Python 的 doctest 模块可以非常方便地进行文档中线管功能的测试,以下的python_doctest.py 模块作为示例.

import doctest

def square(x):
    '''
        一个可以计算平方的函数

    >>> square(2)
    4
    >>> square(3)
    9
    >>> square(-2)
    4
    >>> square(0)
    1
    '''

    return x * 2   # 此处故意写错


class User:
    '''
    定义一个代表用户的类,该类包含两个属性:
    name - 用户的名字
    age - 用户的年龄

    >>> u = User('abc', 9)
    >>> u.name
    abc
    >>> u.age
    9
    >>> u.say('这是我说的话')
    'abc say: 这是我说的话'
    '''
    def __init__(self, name, age):
        self.name = 'ABC'  # 此处故意写错
        self.age = age

    def say(self, content):
        return self.name + ' say: ' + content


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

执行该测试文件后,doctest 会根据测试用例的输入及预期结果测试出功能的缺陷,测试结果会根据预期结果给出简单的分析,如下图所示。
doctest 测试结果
每一条测试用例结果都包含4部分:
1.显示在哪个源文件的哪一行;
2.Failed example,显示是哪个测试用例出错了;
3.Excepted,显示程序期望的输出结果;
4.Got,显示程序实际运行产生的输出结果。
只有当实际产生的输出结果与期望结果一致时,才表明该测试用例通过。

猜你喜欢

转载自blog.csdn.net/kelisigk/article/details/89842723
今日推荐