【发布时间】:2011-12-21 16:47:25
【问题描述】:
我有一个单元测试,我想为一个将 XML 作为字符串的函数编写。这是一个 doctest,我希望 XML 与测试一致。由于 XML 是多行的,我在 doctest 中尝试了一个字符串文字,但没有成功。这是简化的测试代码:
def test():
"""
>>> config = \"\"\"\
<?xml version="1.0"?>
<test>
<data>d1</data>
<data>d2</data>
</test>\"\"\"
"""
if __name__ == "__main__":
import doctest
doctest.testmod(name='test')
我得到的错误是
File "<doctest test.test[0]>", line 1
config = """ <?xml version="1.0"?>
^
SyntaxError: EOF while scanning triple-quoted string
我尝试了很多组合,但似乎无法让它发挥作用。我得到的要么是这个错误,要么是“不一致的前导空白”错误。有什么建议么?我正在使用 python 2.4(不,没有升级的可能性)。
【问题讨论】:
-
您是否尝试过放入交互式 shell 使用的
...延续提示? -
我没有要测试的 python2.4,但是在里面使用三个撇号 ''' 来避免 \" 位并添加 "... " 前缀对我有用。
-
你有一个有效的例子吗?我不太明白你是怎么做的。我在 "..." 和 ''' 上尝试了几次尝试,但没有成功。
-
@DSM,啊,我想通了。我发布了一个答案,但如果您发布相同的内容,我会将其标记为答案,以便您获得信用。
-
@shadowland:没必要!只需接受您自己的答案。
标签: python comments doctest python-2.4