Ich verwende doctest.testmod()
, um einige grundlegende Tests durchzuführen. Ich habe eine Funktion, die eine lange Zeichenfolge zurückgibt, sagen wir get_string()
. Etwas wie:Zeilenfortsetzung/Umbruch in doctest
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')
Das Problem ist, dass der doctest nicht vergeht, weil es nur eine einzige Zeile String erwartet, und es wird die Wrap als \n
Zeichen zu behandeln. Gibt es eine Möglichkeit, dies zu umgehen?
PS: Dies ist nicht die eigentliche Funktion, mit der ich arbeite, aber eine minimale Version für Sie.
Hinweis: in Ihrem Code in der 'return' Linie die Backslash ist ** ** nutzlos, wenn nicht schädlich. Klammern reichen für fortlaufende Zeilen (und sie sollten sowieso bevorzugt werden). Außerdem ist sogar das "+" überflüssig. – Bakuriu