>> a = '''This is a test string lin-6ren">
gpt4 book ai didi

python - 嵌套文档字符串的 Doctest

转载 作者:太空狗 更新时间:2023-10-29 22:16:48 25 4
gpt4 key购买 nike

假设我有以下代码:

def foo(s):
"""A dummy function foo. For example:

>>> a = '''This is a test string line 1
This is a test string line 2
This is a test string line 3'''
>>> foo(a)
This is a test string line 1
This is a test string line 2
This is a test string line 3
>>>
"""
print s

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

然后将其保存为 foo.py。当我运行时:

C:\Python27>python.exe foo.py
**********************************************************************
File "foo.py", line 5, in __main__.foo
Failed example:
a = '''This is a test string line 1
Exception raised:
Traceback (most recent call last):
File "C:\Python27\lib\doctest.py", line 1254, in __run
compileflags, 1) in test.globs
File "<doctest __main__.foo[0]>", line 1
a = '''This is a test string line 1
^
SyntaxError: EOF while scanning triple-quoted string literal
**********************************************************************
File "foo.py", line 8, in __main__.foo
Failed example:
foo(a)
Exception raised:
Traceback (most recent call last):
File "C:\Python27\lib\doctest.py", line 1254, in __run
compileflags, 1) in test.globs
File "<doctest __main__.foo[1]>", line 1, in <module>
foo(a)
NameError: name 'a' is not defined
**********************************************************************
1 items had failures:
2 of 2 in __main__.foo
***Test Failed*** 2 failures.

尝试缩进文档字符串(>>> a = '''...'''。检查所有缩进 - 每个缩进 4 个空格)并将单引号更改为双引号(>>> a = ""“....”“”),错误是不同的,doctest 只是不会成功。目前唯一可行的方法是将所有行连接到一个极长的字符串并用 '\r\n' 分隔。

我错过了什么吗?

最佳答案

我认为你需要在那里放一些点

>>> a = """This is a test string line 1
... This is a test string line 2
... This is a test string line 3"""

关于python - 嵌套文档字符串的 Doctest,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8119308/

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