Wenn ich eine Testsuite mit mehreren Tests habe und versuche, einen einzelnen Komponententest entweder über das Kontextmenü des Code-Editors oder über die JUnit-Ansicht auszuführen, scheint es darauf zu bestehen, immer die gesamte Suite und nicht die auszuführen Einzeltest. Gibt es eine Möglichkeit zum Deaktivieren, um dieses Verhalten zu ändern, sodass ich darum bitten kann, diesen und nur diesen Test auszuführen?
85
Antworten:
Entfalte im Paket-Explorer die Klasse. Es sollte Ihnen alle Methoden zeigen. Klicken Sie mit der rechten Maustaste auf die eine Methode, die Sie ausführen möchten, und wählen Sie dann im Kontextmenü Ausführen als -> JUnit aus (gerade mit Eclipse 3.4.1 getestet). Die Auswahl von "Ausführen" für einen einzelnen Eintrag in der JUnit-Ergebnisansicht, um einen Test erneut auszuführen, funktioniert auf die gleiche Weise.
quelle
Der schnellste Weg, den ich kenne:
Wenn Sie alle Tests ausführen möchten, können Sie die Schritte 1 und 4 überspringen.
quelle
In Eclipse 3.5 können Sie dies umgehen, indem Sie den Testläufer auf JUnit 3 ändern. Dies funktioniert nur für JUnit 3-Tests, nicht für JUnit 4-Tests. Sie können den Testläufer folgendermaßen ändern:
Es kann auch in anderen Versionen funktionieren.
quelle
Dies ist in Eclipse Indigo mit JUnit 4.8.2 möglich. Klicken Sie mit der rechten Maustaste auf die Methode, die Sie einzeln testen möchten
Outline
, und wählen Sie sie ausRun As -> JUnit Test
.Sie können sogar selektiv mit der rechten Maustaste auf einen Testmethodennamen im Quellcode-Editor klicken und auswählen
Run As -> Junit Test
.quelle
Verwenden Sie nicht Strg+, F11sondern den Hotkey Alt+ Shift+ X-> T.
Dann führt Eclipse die aktuell geöffnete Datei als JUnit-Test aus. Die grüne Wiedergabetaste führt nur die zuletzt ausgewählte Ausführungskonfiguration aus.
Bei mir funktioniert es gut mit Alt+ Shift+ X-> T.
quelle
Ich werde die anderen ergänzen, indem ich nur eine hochproduktive Tastatur einbinde, mit der Sie einen einzelnen Unit-Test (Methode) debuggen können.
Bewegen Sie den Cursor mit einem der beiden Methoden auf den Methodennamen
Sobald sich Ihr Cursor auf dem Methodennamen befindet (oder direkt davor):
Nachdem Sie den Test ausgeführt haben, können Sie zu dem Punkt zurückkehren, an dem sich Ihr Cursor befand:
Alt+Back
Sie erhalten fast REPL-ähnliches Verhalten durch:
Ctrl+ Shift+ Upund Alt+ Shift+ X-> Tund Alt+Back
Sie können auch schnell einen Haltepunkt festlegen:
Ctrl+ Shift+B
quelle
Klicken Sie mit der rechten Maustaste auf den Namen der Testmethode in der Datei und wählen Sie "Ausführen" -> "Junit-Test". Ich mache es die ganze Zeit mit Kepler und JUnit 4.
quelle
Ich hatte das gleiche Problem, das andere mit Eclipse 3.4.1 und JUnit 4 Test Runner hatten - ich konnte keinen einzelnen Test ausführen. Aber ich habe woanders einen Vorschlag gefunden, der das Problem gelöst hat. Meine Testklasse erweiterte immer noch junit.framework.TestCase. Als ich aufhörte, TestCase zu erweitern, funktionierte alles einwandfrei und ich konnte einzelne JUnit-Tests mit dem JUnit 4-Testläufer ausführen. Natürlich musste ich für JUnit 4-Annotationen statische Importe für die Assert-Methoden verwenden, aber das hatte ich bereits getan - ich hatte die TestCase-Vererbung einfach nicht entfernt.
quelle
Wenn Sie viele Tests in mehr als einer Datei haben und nur die Tests in einer bestimmten Datei ausführen möchten, können Sie mit der rechten Maustaste auf diese Datei klicken und Ausführen als -> Junit-Test auswählen. Wenn Sie nur einen Test ausführen möchten, der in einer Datei mit vielen Tests enthalten ist, gehe ich davon aus (ich habe hier keine Eclipse installiert), dass in der Gliederungsansicht alle Testmethoden für eine Datei aufgelistet werden, und Sie werden dies wahrscheinlich können Klicken Sie mit der rechten Maustaste auf eine einzelne Testmethode und führen Sie sie als JUNit-Test aus.
Ich hoffe es hilft.
quelle
Nur eine Testmethode ausführen.
Entfalten Sie im (Paket-Explorer oder Projektexplorer) die Klasse. Es sollte Ihnen alle Methoden zeigen. Klicken Sie mit der rechten Maustaste auf die eine Methode, die Sie ausführen möchten, und wählen Sie dann im Kontextmenü Ausführen als -> JUnit aus.
quelle
Für mich funktioniert es auch nicht in Eclipse 3.4.2, obwohl es in früheren Versionen funktioniert hat (ich habe versucht, eine einzelne Methode aus dem Paket-Explorer und einen einzelnen Junit-Test aus der Junit-Ansicht auszuführen).
quelle
Ich stimme dem Punkt zu, dass 3.4.2 nicht mehr so funktioniert wie in früheren Versionen. Bevor Sie in der JUnit-Ansicht mit der rechten Maustaste auf einen einzelnen Test in einer Gruppe von Tests klicken und genau diesen Test ausführen können. In der neuesten Version besteht es darauf, immer alle auszuführen. Zugegeben, die Ansicht führt den Test aus, auf den Sie zuerst geklickt haben, und gibt den Rest in einem Rollup mit dem Namen "Unrooted Tests" aus. Wenn jemand dies herausfindet, würde ich gerne wissen, wie man es umgeht.
quelle
Wenn Sie einige der Kommentare hier lesen, scheinen Sie möglicherweise daran interessiert zu sein, die Tests für den Code auszuführen, den Sie während der Änderung ändern, ohne den Fokus auf den Code zu verlieren, an dem Sie arbeiten. Dafür gibt es ein Eclipse-Plugin. Siehe unendlich .
quelle