Reihenfolge von Testmethoden in JUnit beeinflussen

Maik.Neumann

Aktives Mitglied
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ß
 
Es gibt seit JUnit 4.11 eine Klassen-Annotation FixMethodOrder:
Java:
@FixMethodOrder(MethodSorters.xxx)
public class MyTest {

    //tests

}

Mit den Werten:
  1. MethodSorters.NAME_ASCENING
  2. MethodSorters.JVM
  3. MethodSorters.DEFAULT

Damit kannst du zumindest deine Testmethoden lexikographisch aufsteigend ablaufen lassen.
 
Zuletzt bearbeitet:
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.
 

Neue Themen


Zurück
Oben