Ich habe Probleme, einige Unit-Tests über den Pudb-Debugger zu debuggen.
Die Tests laufen gut mit Python, aber ich hatte kein Glück, sie mit pudb
laufen zu lassen.
Ich habe das Problem isoliert und bin zum folgenden Beispielcode gekommen:
%Vor%Die Tests laufen gut:
%Vor%Aber wenn ich durch Pudb laufe, gibt es mir die Ausgabe:
%Vor% Ich habe versucht, mit pudb amodule.py
und auch mit python -m pudb.run amodule.py
zu laufen, aber es macht keinen Unterschied - auf die eine oder andere Weise werden keine Tests ausgeführt.
Sollte ich etwas anderes tun, um Komponententests mit Pudb zu debuggen?
Platzieren Sie einen Haltepunkt in einer nützlichen Zeile in Ihrem Code:
%Vor% Die Art, wie Sie versucht haben, es zu starten, könnte die Test-Erkennung stören und / oder Ihr Skript nicht mit __name__
of '__main__'
ausführen.
Da dies eine beliebte Frage ist, sollte ich auch erwähnen, dass die meisten Test-Running-Tools erfordern, dass Sie einen Schalter übergeben, um zu verhindern, dass die Standardausgabe und -eingabe erfasst wird (normalerweise -s
).
Denken Sie daran, pytest -s
bei Verwendung von Pytest oder nosetests -s
für Nose, python manage.py test -s
für Django-Tests oder in der Dokumentation für Ihr Testlauf-Tool auszuführen.
Sie können einen Breakpoint noch einfacher einstellen:
import pudb; pu.db
Tags und Links python python-unittest pudb