之前看过文档测试的朋友就已经知道它的妙用了。 doctest是python文档测试中的一个模块,有两种使用方式。今天,我将doctest嵌入到源码中,为大家详细讲解。
下面的代码只有一个函数,里面嵌入了两个
doctest测试用例,文件名为naruto.py:
'''
这个例子展示如何在源码中嵌入doctest用例。
'>>>' 开头的行就是doctest测试用例。
不带 '>>>' 的行就是测试用例的输出。
如果实际运行的结果与期望的结果不一致,就标记为测试失败。
'''
def multiply(a, b):
"""
>>> multiply(4, 3)
12
>>> multiply('a', 3)
'aaa'
"""
return a * b
if __name__=='__main__':
import doctest
doctest.testmod(verbose=True)
有两个地方可以放
doctest测试用例,一个位置是模块的最开头,另一个位置是函数声明语句的下一行(就像上面的例子这样)。除此之外的其它地方不能放,放了也不会执行。
verbose 参数,如果设置为 True,将在执行测试时输出详细信息。默认为False,即运行测试时,只有失败的测试用例才会输出详细信息,成功的测试用例不会输出任何信息。
将上面提到的文件放在
D盘(或者其他你觉得方便的目录),打开cmd命令行,切换到naruto.py所在的目录(我的在D盘),输入下面代码:
python naruto.py
输出结果为:
Trying:
multiply(4, 3)
Expecting:
12
ok
Trying:
multiply('a', 3)
Expecting:
'aaa'
ok
1 items had no tests:
__main__
1 items passed all tests:
2 tests in __main__.multiply
2 tests in 2 items.
2 passed and 0 failed.
Test passed.
上面启动测试的方式是在
__main__函数中调用了doctest.testmod()方法。
如果
__main__函数有其他用途,不方便调用doctest.testmod()方法,那么可以用另外一种执行测试的方法,在cmd中输入:
$ python -m doctest naurto.py
$ python -m doctest -v naruto.py
以上就是python中doctest嵌入源码的方法。
更多Python学习推荐:
。
本文为原创文章,版权归知行编程网所有,欢迎分享本文,转载请保留出处!
你可能也喜欢
- ♥ 如何在linux中编写python脚本10/23
- ♥ Python如何读取excel中的图片10/13
- ♥ Python美丽的太阳系——瞎了你的眼睛!12/18
- ♥ 有哪些免费的学习python的网站?10/21
- ♥ python有mac版吗?12/21
- ♥ python自定义日志的实现方法12/06
内容反馈