包含字符串文字的Doctests

sha*_*and 3 python doctest comments python-2.4

我有一个单元测试,我想为一个将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')
Run Code Online (Sandbox Code Playgroud)

我得到的错误是

File "<doctest test.test[0]>", line 1
         config = """  <?xml version="1.0"?>
                                            ^
     SyntaxError: EOF while scanning triple-quoted string
Run Code Online (Sandbox Code Playgroud)

我尝试了很多组合,似乎无法让它发挥作用.这是我得到的这个或"不一致的领先的whitepsace"错误.有什么建议?我正在使用python 2.4(不,没有升级的可能性).

sha*_*and 11

此代码有效:

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')
Run Code Online (Sandbox Code Playgroud)