包含字符串字面量的Doctests

2024-06-02 06:23:38 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个单元测试,我想为一个将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')

我得到的错误是

^{pr2}$

我试过很多种组合,但似乎没法用。我得到的要么是这个错误,要么是“不一致的前导白勺”错误。有什么建议吗?我使用的是python2.4(不,不可能升级)。在


Tags: 函数字符串nametest文本configdatadef
1条回答
网友
1楼 · 发布于 2024-06-02 06:23:38

这段代码适用于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')

相关问题 更多 >