doctest
又一个Python自带标准库doctest
使用这个包可以把测试写在文档字符串中,在测试的同时起到文档的作用。格式要求:
# 先>>> 函数调用
# 下一行输出预期的结果
"""
>>> fun()
result
"""
EXAMPLE:
import doctest
def list_generator(number):
"""
>>> list_generator(5)
[0, 1, 2, 3, 4]
"""
return [n for n in range(number)]
if __name__ == '__main__':
doctest.testmod()
运行Python文件,如果没有错误,则不会输出内容。现在把list_generator稍微改变一下:
import doctest
def list_generator(number):
"""
>>> list_generator(5)
[0, 1, 2, 3, 4]
"""
return [str(n) for n in range(number)]
if __name__ == '__main__':
doctest.testmod()
运行文件,输出如下内容:
**********************************************************************
File "example.py", line 5, in __main__.list_generator
Failed example:
list_generator(5)
Expected:
[0, 1, 2, 3, 4]
Got:
['0', '1', '2', '3', '4']
**********************************************************************
1 items had failures:
1 of 1 in __main__.list_generator
***Test Failed*** 1 failures.
By the way,如果你不想写:
if __name__ == '__main__':
doctest.testmod()
那么,在运行Python文件的时候,需要:
# python example.py 之前这样运行
$ python example.py -v # 现在这样运行才能进行代码测试