Interaktives Debugging mit nosetests in PyDev

8

Ich benutze PyDev (mit Aptana), um eine Python Pylons App zu schreiben und zu debuggen, und ich würde gerne die Tests im Debugger durchgehen.

Ist es möglich, nosetests durch PyDev zu starten und an Haltepunkten zu stoppen?

    
dave 03.11.2010, 13:38
quelle

3 Antworten

2

Hier ist, was ich tun, um Nosetests mit Eclipse Pydev (hoffe, das wird Ihnen helfen).

Zuerst erstelle ich ein Python-Skript und lege es in das Wurzelverzeichnis meines Paketverzeichnisses:

%Vor%

und in runtest.py stelle ich:

%Vor%

Ich gehe jetzt zu dem Menü Run - & gt; Run configurations und ich erstelle eine neue Konfiguration von Pydev Django Ich wähle mein Paket und rufe runtest.py in das Hauptmodul , dann gehe ich zum arguments Tab in das selbe Widget und ich habe Programmargumente den Pfad zu meinem Projekt und anderen arg eingegeben, um an das Skriptbeispiel zu übergeben:

%Vor%

Jetzt, nachdem ich auf Anwenden geklickt habe, kann ich diese Konfiguration ausführen.

Zum Debuggen können Sie diese Konfiguration im Debug-Modus ausführen und Ihren Breakpoint irgendwo in Ihrem Code platzieren. Sie können das grandiose Debug-Widget verwenden, um mehrere Aktionen auszuführen: Schritt in, um vars zu sehen ...

NB: für Doctests glaube ich leider nicht, dass Sie einen Breakpoint in die Doctest-Zeile setzen können, aber was Sie tun können, ist, Ihren Breakpoint in den def der Funktion zu setzen, die vom Doctest aufgerufen wird und die Sie verwenden können der Debug-Modus.

    
mouad 03.11.2010 14:49
quelle
0

Versuchen Sie import pydevd; pydevd.settrace() wo ein Haltepunkt möchte.

    
joeforker 03.11.2010 13:59
quelle
0

Ich habe das funktioniert, etwas - das heißt, ich habe keine Breakpoints und Stepping funktioniert, aber ich bekomme PyDev, um die Tests zu starten und die Ergebnisse in der PyUnit-Ansicht zu zeigen.

Wenn Sie den Komponententest ausführen, müssen Sie den Test-Runner überschreiben, um "nose" und Befehlszeilenargumente "--with-pylons = path / to / test.ini" auf der Registerkarte "arguments" der Ausführungskonfiguration zu verwenden . Zum Beispiel setze ich es auf "- mit-Pylonen = .. / .. / test.ini". Leider muss ich das für jeden Test separat einrichten, ich habe keine Möglichkeit gefunden, eine Variable oder einen Projektpfad dorthin zu legen.

Leider konnte ich auch keine Breakpoints erstellen. Ich habe versucht, wie in Ссылка empfohlen zu patchen, und seine Kommentare zu nein in Anspruch nehmen. YMMV.

Ersetzen Sie in DecoratorTools-1.8-py2.7.egg / peak / util / decorators.py in decorate_assignment ():

%Vor%

mit

%Vor%     
Dobes Vandermeer 14.06.2013 21:55
quelle

Tags und Links