Junit4 Testsuite aus tests erstellen

Status
Nicht offen für weitere Antworten.
Hallo,

ich wollte eine Junit4 testsuite erstellen um meine tests in einer bestimmten Reihenfolge auszuführen.
Aber wie mache ich das? Durchs googeln habe ich bloß diese Variante gefunden. In der kann ich aber bloß die Reihenfolge der testklasse und nicht die der einzelnen Tests angeben.

Java:
@RunWith(Suite.class)
@SuiteClasses( { testEditDocument.class })
public class AllTests{
	
}

Und noch eine zweite Frage. Ist es mögliche einem Testfall noch einen Namen mitzugeben. So dass dieser dann im testprotokoll auftaucht. da man diesen ja aussagekräftiger machen kann.

und noch eine dritte Frage.
Ist es möglich einen Test mit verschiedenen Daten zu starten. Also nur ein beispiel einmal mit einem wert x = 7 und einmal mit einem wert x=3?
 
M

maki

Gast
ich wollte eine Junit4 testsuite erstellen um meine tests in einer bestimmten Reihenfolge auszuführen.
Aber wie mache ich das? Durchs googeln habe ich bloß diese Variante gefunden. In der kann ich aber bloß die Reihenfolge der testklasse und nicht die der einzelnen Tests angeben.
Das verstösst gegen die Grundregel des Testens: Tests müssen isoliert von anderen Tests laufen, sonst weisst du bald nicht mehr welcher Test aus welchem Grund fehlgeschlagen ist.
Vielleicht kannst du mit TestNG das gewünschte, aber nicht empfohlene Verhalten erreichen.
Oder du schreibst deine eigene Suite. (Nachtrag: Das hast du in deinem Beispiel schon)

Alles in allem kann ich davon nur abraten, ganz dringend.
 
Zuletzt bearbeitet von einem Moderator:
hmm, ein Wechsel auf TestNG ist leider nicht möglich.

Mir geht es bei der frage ja auch nicht um kleinere unit tests sondern größere, die ich aber strukturieren will. hatte mir auch schon überlegt eine Variable in der testklasse einzufügen um so zu erkennen ob ein abhängiger test fehlschlägt und dann den abhängigen folgetest nicht auszuführen. sozusagen als workaround, weil es bei junit ja kein dependsOn gibt.

Allerdings hätte ich dann immernoch das problem mit der reihenfolge.

Gibts denn kein addtest.(Testclass.Testmethode); oder so in der art?
 
M

maki

Gast
hmm, ein Wechsel auf TestNG ist leider nicht möglich.
Wieso wechsel? TestNG ist eher ein Zusatz für JUnit, soviel ich weiss, kann TestNG die von dir gewünschte Funktionalität umsetzen, auch wenn sie daneben ist.

Mir geht es bei der frage ja auch nicht um kleinere unit tests sondern größere, die ich aber strukturieren will
Strukturien ist gut, aber abhängige Tests sind schlecht.
Was heisst "kleinere" Unit tests?
"Größere" Tests sind ein Antipattern für sich.

Gibts denn kein addtest.(Testclass.Testmethode); oder so in der art?
Nein, denn wie gesagt: Es widerspricht den Grundregeln, anders gesagt: Das macht man nicht, ist schlecht.
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Oben