[Python-de] 2to3: doctest output anpassen?

Felix Schwarz felix.schwarz at web.de
Mo Mär 21 19:40:02 CET 2011


Am 09.03.2011 01:05, schrieb "Martin v. Löwis":
> Wenn's nur um's testen geht, und nicht (so sehr) um Dokumentation,
> kannst Du schreiben

Für's Testen würde ich immer andere Tests vorziehen und bei den
fraglichen Projekten scheint es für die doctests immer um die
automatische Überprüfung von Beispiel-Code zu gehen. Insofern finde ich
solche Hilfskonstrukte wie
> >>> foo() == u'foo'
schon ziemlich hässlich.

> Den Output kannst Du nicht so gut konvertieren. Eine Möglichkeit ist,
> im test runner sys.displayhook auszutauschen, sodass Unicode-Strings
> immernoch als u'' ausgegeben werden. Das ist natürlich gehackt.

Hacks sind erst mal ok (weil "output anpassen" per-se heuristisch/mit
Annahmen belastet ist), aber "nicht so gut konvertieren" ist ja wohl
etwas euphemistisch ausgedrückt ;-)

Gibt es denn gar nichts, um direkt die doctest-Ausgabe Zeile für Zeile
zu bekommen? Muss ich wieder mal selber ran ;-)

fs

PS: Ich (Python3-Laie!) halte es ja nach wie vor für einen Fehler, dass
u'' in Python3 ungültig ist (und nicht einfach nur eine noop). Der
"Python 2.7 + Python 3"-Konvertierungspfad überzeugt mich nicht
wirklich, ich brauche "Python 2.4-2.7 + 3" – zumal im Moment Python 2.3
für mich immer noch wichtiger als Python 3 ist, was die geschäftliche
Relevanz angeht.




Mehr Informationen über die Mailingliste python-de