我有一个Python3函数,它返回一个多行字符串。我想用doctest测试它,但无法使其正常工作。我尝试使用+NORMALIZE_WHITESPACE指令,但并没有成功。请参考以下内容:
上述代码出现以下错误:
但是这样做会出现几乎相同的错误:
+NORMALIZE_WHITESPACE
指令。def dummy():
"""Dummy test function
>>> dummy() # doctest: +NORMALIZE_WHITESPACE
'''Hello Mum
Hello Dad'''
"""
return """Hello Mum
Hello Dad"""
if __name__ == "__main__":
import doctest
doctest.testmod()
上述代码出现以下错误:
File "c:/foo.py", line 5, in __main__.dummy
Failed example:
dummy() # doctest: +NORMALIZE_WHITESPACE
Expected:
'''Hello Mum
Hello Dad'''
Got:
'Hello Mum\n Hello Dad'
我尝试将doctest行更改为包含文字\n
:
>>> dummy() # doctest: +NORMALIZE_WHITESPACE
'Hello Mum\n Hello Dad'
但是这样做会出现几乎相同的错误:
Failed example:
dummy() # doctest: +NORMALIZE_WHITESPACE
Expected:
'Hello Mum
Hello Dad'
Got:
'Hello Mum\n Hello Dad'
我该如何使用doctest测试多行字符串输出?
\n
而不是实际的换行符... - Justin