[英]Doctests that contain string literals
我有一个单元测试,我想为一个将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
我尝试了很多组合,似乎无法让它发挥作用。 这是我得到的这个或“不一致的领先的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')
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.