Ich habe etwas Java-Code, den ich Unit-Tests mit JUnit, innerhalb von Eclipse (Neon) läuft. Es kommt vor, dass ein Testcode einen Fehler enthält, der in eine Endlosschleife übergeht. Der JUnit Lauf läuft dann natürlich nicht aus. Wie kann ich den Testlauf beenden?Wie man einen JUnit-Testlauf in Eclipse beendet, der in eine unendliche Schleife eingetreten ist
Die Schaltfläche zum Stoppen des Testlaufs ("Stop JUnit Test Run") funktioniert nicht gut: Die GUI scheint zu glauben, dass sie den Testlauf gestoppt hat, aber einen Blick auf die CPU-Aktivität (z. B. top
)), zeigt an, dass ein Java-Thread noch läuft. Ich kann den Thread selbst töten, indem ich ihm ein Tötungssignal sende. Aber das scheint ein Klud und ist unbequem. Gibt es einen besseren Weg, der in Eclipse verfügbar ist?
Nützlich, wenn Sie einen Fehler eines bestimmten Tests * könnte antizipieren eine Endlosschleife * verursachen. Nicht so nützlich, wenn Sie keinen guten Grund haben, dies zu vermuten, oder ein nachträgliches Re-Factoring führt zu einer Endlosschleife. – Raedwald
@Raedwald Nun, ich würde Ihre Argumentation umdrehen und * jede * Testmethode mit '@Test (timeout = 60000)' (oder einem anderen beliebig hohen Timeout) annotieren, selbst wenn ich * keinen * Grund habe, ein Unendliches zu erwarten Schleife. –
Hinzufügen zu * jedem * Test ist ein Code Geruch, denke ich. – Raedwald