doctest是Python的一个模块,能够搜索类似交互式Python会话的代码,执行并检验结果。 我们可以将测试驱动开发(TDD)应用到实践中,实现一个功能之前先严格确定功能能做什么,借交互式Python会话的格式写几个测试用例,并利用doctest测试函数功能。
根据测试用例代码的存放位置不同,利用doctest有两种形式来测试函数功能。
1、直接在函数的DocString中写测试用例。
2、从文件中读取测试用例并测试。
下面分别进行介绍。
1、直接在函数的DocString中写测试用例
DocString文档字符串写在函数体中,用一对三个单引号或一对三个双引号来定义标识。
在DocString中写测试用例时,用>>>标识待执行的测试用例,紧跟着下一行是期待该用例输出的结果。
import doctest
def returnMax(a,b):
'''
return max of two values.
>>> returnMax(1,3)
3
>>> returnMax(2,2)
2
'''
if a>b:
return a
return b
if __name__ == '__main__':
doctest.testmod(verbose=True)
可以直接在IDE中运行或在命令行中运行(test_doctest为文件名)
python test_