# Junit4 Testsuite aus tests erstellen



## eclipseBeginner (14. Sep 2009)

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.


```
@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?


----------



## maki (14. Sep 2009)

> 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.


----------



## eclipseBeginner (14. Sep 2009)

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?


----------



## maki (14. Sep 2009)

> 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.


----------

