2010-05-23 14 views
12

Ich habe ein Projekt mit fast 500 Einzeltests in rund 200 Testklassen. Einige dieser Tests machen keine gute Arbeit, wenn sie ihren eigenen Zustand beenden, nachdem sie fertig sind, und in Eclipse führt dies dazu, dass einige Tests fehlschlagen. Die Tests bestehen alle beim Ausführen der Testsuite von der Befehlszeile über Ant.Ausführen jedes JUnit-Tests in einer separaten JVM in Eclipse?

Kann ich "Test Isolation" irgendwie in Eclipse aktivieren? Es macht mir nichts aus, wenn es länger dauert zu laufen.

Langfristig werde ich die fehlgeschlagenen Tests aufräumen, aber auf kurze Sicht möchte ich die Tests funktionieren lassen.

Antwort

3

Wenn Sie Ant in Eclipse verwenden, können Sie die JUnit-Aufgabe so einstellen, dass sie für jeden Test einen neuen JVM-Prozess ausgibt und so für Isolation sorgt.

http://ant.apache.org/manual/Tasks/junit.html

+0

Es wird nur eine neue JVM für die gesamte Testsuite ausgegeben, nicht eine für jeden einzelnen Test. –

+0

Könnte immer noch nützlich sein. –

+2

@Michael - Wenn das forkmode-Attribut auf "perTest" gesetzt ist, sollte für jeden Test eine neue JVM erstellt werden - das ist die Standardeinstellung. –

0

Ich hatte auch ähnliche Bedürfnisse und entwickelt small maven plugin Jute, die in Maven zentralen veröffentlicht wurde. Es startet den externen JVM-Prozess für jede JUnit-Testmethode.

+0

Er möchte sie in Finsternis laufen lassen. Ich nehme an, dass er die Ergebnisse der Unit-Tests auf der Registerkarte JUnit sehen möchte. Er hat bereits gesagt, dass er Ant nicht Maven verwendet - Ant lässt Sie Tests bereits so ausführen, wie er es möchte. – mjaggard

Verwandte Themen