gpt4 book ai didi

python - Doctest 不运行测试

转载 作者:行者123 更新时间:2023-12-01 04:17:23 27 4
gpt4 key购买 nike

import doctest

def create_grid(size):
grid = []
for i in range(size):
row = ['0']*size
grid.append(row)
"""
>>> create_grid(4)
[['0', '0', '0', '0'], ['0', '0', '0', '0'],
['0', '0', '0', '0'], ['0', '0', '0', '0']]
"""
return grid

if __name__ == '__main__':
doctest.testmod()

使用 python Test_av_doctest.py -v 运行上述命令会给出以下消息:

2 items had no tests:
__main__
__main__.create_grid
0 tests in 2 items.
0 passed and 0 failed.
Test passed.

知道为什么会发生此错误吗?

最佳答案

问题是您的 doctest 格式的字符串不是文档字符串。

Which docstrings are examined?

The module docstring, and all function, class and method docstrings are searched.

如果将测试字符串移到函数定义下方,它将成为函数文档字符串,因此将成为 doctest 的目标:

def create_grid(size):
"""
>>> create_grid(4)
[['0', '0', '0', '0'], ['0', '0', '0', '0'],
['0', '0', '0', '0'], ['0', '0', '0', '0']]
"""
grid = []
for i in range(size):
row = ['0']*size
grid.append(row)

return grid

if __name__ == '__main__':
doctest.testmod()
<小时/>
$ python Test_av_doctest.py -v
...
1 passed and 0 failed.
Test passed.

关于python - Doctest 不运行测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34177812/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com