当前位置: 首页 > 图灵资讯 > 行业资讯> python中doctest如何嵌入源码?

python中doctest如何嵌入源码?

来源:图灵python
时间: 2024-12-15 20:17:05

之前看过文档测试的小伙伴,已经了解到了它的妙用。doctest属于python文档测试中的模块,有两种使用方式。今天就doctest嵌入源码,小编为大家进行详细讲解。

下面的代码只有一个函数,里面嵌入了两个doctest测试用例,文件名为naruto.py:

'''
这个例子展示如何在源码中嵌入doctest用例。
'>>>'开头的行就是doctest测试用例。
不带'>>>'的行就是测试用例的输出。
如果实际运行的结果与期望的结果不一致,就标记为测试失败。
'''
defmultiply(a,b):
"""
>>>multiply(4,3)
12
>>>multiply('a',3)
'aaa'
"""
returna*b
if__name__=='__main__':
importdoctest
doctest.testmod(verbose=True)

有两个地方可以放doctest测试用例,一个位置是模块的最开头,另一个位置是函数声明语句的下一行(就像上面的例子这样)。除此之外的其它地方不能放,放了也不会执行。

verbose参数,如果设置为True则在执行测试的时候会输出详细信息。默认是False,表示运行测试时,只有失败的用例会输出详细信息,成功的测试用例不会输出任何信息。

将上面提到的文件放在D盘(或者其他你觉得方便的目录),打开cmd命令行,切换到naruto.py所在的目录(我的在D盘),输入下面代码:

pythonnaruto.py

输出结果为:

Trying:
multiply(4,3)
Expecting:
12
ok
Trying:
multiply('a',3)
Expecting:
'aaa'
ok
1itemshadnotests:
__main__
1itemspassedalltests:
2testsin__main__.multiply
2testsin2items.
2passedand0failed.
Testpassed.

上面启动测试的方式是在__main__函数中调用了doctest.testmod()方法。

如果__main__函数有其他用途,不方便调用doctest.testmod()方法,那么可以用另外一种执行测试的方法,在cmd中输入:

$python-mdoctestnaurto.py
$python-mdoctest-vnaruto.py

以上就是python中doctest嵌入源码的方法。更多Python学习推荐:PyThon学习网教学中心