# Reihenfolge von Testmethoden in JUnit beeinflussen



## Maik.Neumann (3. Jul 2014)

Hallo !

Hat man eigentlich in JUnit irgendeine Möglichkeit die Reihenfolge der Testmethoden in einer Testklasse zu beeinflussen?

Ich würde nämlich gerne sicherstellen wollen, dass meine Testmethoden alle sequenziell hintereinander ausgeführt werden und genau das soll JUnit ja von sich aus nicht tun / nicht sicherstellen können.

Habe ich da irgendwelche Möglichkeiten?

Danke und Gruß


----------



## diggaa1984 (3. Jul 2014)

Es gibt seit JUnit 4.11 eine Klassen-Annotation FixMethodOrder: 

```
@FixMethodOrder(MethodSorters.xxx)
public class MyTest {

    //tests

}
```

Mit den Werten: 

MethodSorters.NAME_ASCENING
MethodSorters.JVM
MethodSorters.DEFAULT

Damit kannst du zumindest deine Testmethoden lexikographisch aufsteigend ablaufen lassen.


----------



## turtle (3. Jul 2014)

> Ich würde nämlich gerne sicherstellen wollen, dass meine Testmethoden alle sequenziell hintereinander ausgeführt werden


Wird doch auch

Es ist nur nicht sichergestellt, das Methode A IMMER vor Methode B ausgeführt wird. 

Das ist auch ein Sache, was gegen das Prinzip der Kapselung von Testfällen spricht. Ein Testfall sollte unabhängig von der Reihenfolge sein, in der sie ausgeführt werden. Das solltest du daher gründlich überlegen. (Und ich verstehe nicht, warum du meinst, das zu benötigen.)

Wie diggaa1984 schon richtig anmerkte, gibt es seit jUnit 4.11 die FixMethodOrder-Annotation.


----------

