Wie erstelle ich mit JUnit 4 Testsuiten?
Die gesamte Dokumentation, die ich gesehen habe, scheint nicht für mich zu funktionieren. Wenn ich den Eclipse-Assistenten verwende, kann ich keine der von mir erstellten Testklassen auswählen.
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 folgt 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:
von der Kommandozeile aus starten:
$ 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 mag der Stil vor 4.x gewesen sein, aber es ist jetzt nicht so weit ich weiß.
Ich füge einfach die gewünschten Tests hinzu 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 sie für mich ausgeführt.
So erstellen Sie eine JUnit-Suite in Eclipse:
Versionsinfo: Dies ist für Eclipse Neon und JUnit 4. Sie können auch JUnit 3 auswählen, bevor Sie in Schritt 6 'Fertig stellen' auswählen.
Erstellen Sie aus meinem Kopf eine TestSuite und rufen Sie addTests auf. Wenn Sie möchten, dass sich eine Quelle umschaut, probieren Sie eine OpenSource-Bibliothek wie Hibernate oder etwas von Apache aus und werfen Sie einen Blick in das Testverzeichnis der Quelle für eine Testsuite ...