Python 包含字符串文本的doctest

Python 包含字符串文本的doctest,python,comments,doctest,python-2.4,Python,Comments,Doctest,Python 2.4,我想为一个以XML为字符串的函数编写一个单元测试。这是一个doctest,我希望XML与测试一致。因为XML是多行的,所以我在doctest中尝试了字符串文本,但没有成功。下面是简化的测试代码: def test(): """ >>> config = \"\"\"\ <?xml version="1.0"?> <test> <data>d1</data> <data>d2</da

我想为一个以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')
def test():
"""
>>>配置=\“\”\“\
d1
d2
\"\"\"
"""
如果名称=“\uuuuu main\uuuuuuuu”:
进口医生测试
doctest.testmod(name='test')
我得到的错误是

File "<doctest test.test[0]>", line 1
         config = """  <?xml version="1.0"?>
                                            ^
     SyntaxError: EOF while scanning triple-quoted string
文件“”,第1行
config=”“”
^
SyntaxError:扫描三重引号字符串时出现EOF

我尝试了许多组合,但似乎无法使其工作。要么是这一错误,要么是我得到的“不一致的引导whitepsace”错误。有什么建议吗?我正在使用python 2.4(没有,没有升级的可能性)。

此代码可以工作,例如,使用python 2.7.12和3.5.2:

def test():
  """
  >>> config = '''<?xml version="1.0"?>
  ... <test>
  ...   <data>d1</data>
  ...   <data>d2</data>
  ... </test>'''
  >>> print(config)
  <?xml version="1.0"?>
  <test>
    <data>d1</data>
    <data>d2</data>
  </test>

  """

if __name__ == "__main__":
  import doctest
doctest.testmod(name='test')
def test():
"""
>>>配置=“”
... 
...   d1
...   d2
... '''
>>>打印(配置)
d1
d2
"""
如果名称=“\uuuuu main\uuuuuuuu”:
进口医生测试
doctest.testmod(name='test')

您是否尝试过输入交互式shell使用的
..
延续提示?我没有要测试的python2.4,但在内部使用三个撇号“”,以避免\“位”并添加“…”前缀对我有效。您有没有一个有效的示例?我不太明白你是怎么做的。我尝试了几次“…”和“”,但都没有成功。@DSM,啊,我找到了答案。我发布了一个答案,但是如果你发布了同样的东西,我会把它标记为答案,这样你就可以得到信用。@shadowland:没必要!简单地接受你自己的答案。