我正在使用doctest.testmod()
进行一些基本测试。我有一个返回长字符串的函数,比如说get_string()
。类似于:
def get_string(a, b):
r''' (a, b) -> c
>>> get_string(1, 2)
'This is \n\n a long \n string with new \
space characters \n\n'
# Doctest should work but does not.
'''
return ('This is \n\n a long \n string ' + \
'with new space characters \n\n')
问题在于doctest测试未通过,因为它期望一个单行字符串,并将换行符视为\n
字符。有没有办法解决这个问题?
PS:这不是我正在使用的实际函数,而是为了您的方便而精简的版本。
return
行中使用反斜杠是无用甚至有害的。括号足以继续行(而且应该优先考虑使用括号)。此外,即使是+
也是多余的。 - Bakuriu