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