Wie erstelle ich Testsuiten mit JUnit 4?
Die gesamte Dokumentation, die ich gesehen habe, scheint für mich nicht zu funktionieren. Wenn ich den Eclipse-Assistenten verwende, kann ich keine der von mir erstellten Testklassen auswählen.
Wie erstelle ich Testsuiten mit JUnit 4?
Die gesamte Dokumentation, die ich gesehen habe, scheint für mich nicht zu funktionieren. Wenn ich den Eclipse-Assistenten verwende, kann ich keine der von mir erstellten Testklassen auswählen.
Antworten:
import org.junit.runners.Suite;
import org.junit.runner.RunWith;
@RunWith(Suite.class)
@Suite.SuiteClasses({TestClass1.class, TestClass2.class})
public class TestSuite {
//nothing
}
Sie können eine Suite wie diese erstellen. Zum Beispiel würde eine AllTest
Suite ungefähr so aussehen.
package my.package.tests;
@RunWith(Suite.class)
@SuiteClasses({
testMyService.class,
testMyBackend.class,
...
})
public class AllTests {}
Jetzt können Sie dies auf verschiedene Arten ausführen:
Führen Sie die Befehlszeile aus:
$ java -cp build/classes/:/usr/share/java/junit4.jar:/usr/share/java/hamcrest-core.jar org.junit.runner.JUnitCore my.package.tests.AllTests
Ich denke, TestSuite ist in Ungnade gefallen. Das war vielleicht der Stil vor 4.x, aber soweit ich weiß, ist es jetzt nicht mehr so.
Ich kommentiere nur die gewünschten Tests und führe dann die Klasse aus. Alle mit Anmerkungen versehenen Tests werden ausgeführt. Ich könnte Ant verwenden, aber die meiste Zeit habe ich IntelliJ, um sie für mich auszuführen.
@SuiteClass
Anmerkung in mehreren Klassen verwenden und Suiten in Suiten verschachteln. Der Gedankengang, um sie in 3.x zu organisieren, ist immer noch völlig gültig (und sollte verwendet werden). Sie können alles genauso strukturieren wie zuvor. Sie verwenden einfach die Anmerkungssyntax anstelle von TestSuite.suite()
. Die Verwendung TestSuite
der Annotation hat wirklich keinen Vorteil, und Sie können alle JUnit 4-Verbesserungen nutzen, wenn Sie die organisatorisch äquivalente Annotation verwenden.
Hier sind die Schritte zum Erstellen einer JUnit-Suite in Eclipse:
Versionsinfo: Dies gilt für Eclipse Neon und JUnit 4. Sie können auch JUnit 3 auswählen, bevor Sie in Schritt 6 'Fertig stellen' auswählen.