JUNIT: Führen Sie das Setup für eine große Anzahl von Testklassen nur einmal aus

Ich habe eine Klasse, die ich als Grundlage für meine Unit-Tests verwende. In dieser Klasse initialisiere ich die gesamte Umgebung für meine Tests, richte Datenbankzuordnungen ein, gebe mehrere Datenbankdatensätze in mehreren Tabellen ein usw. Diese Klasse verfügt über eine Methode mit einer @ BeforeClass-Annotation, die die Initialisierung vornimmt. Als nächstes erweitere ich diese Klasse mit bestimmten Klassen, in denen ich @ Test-Methoden habe.

Meine Frage ist, wie ich sicherstellen kann, dass sie für alle Tests nur einmal ausgeführt werden, da die Vor-Klasse für alle diese Testklassen genau gleich ist. Eine einfache Lösung ist, dass ich alle Tests in einer Klasse behalten könnte. Die Anzahl der Tests ist jedoch sehr groß und sie werden auch nach Funktionsköpfen kategorisiert. Sie befinden sich also in verschiedenen Klassen. Da sie jedoch genau dasselbe Setup benötigen, erben sie die @BeforeClass. Infolgedessen wird das gesamte Setup mindestens einmal pro Testklasse durchgeführt, was insgesamt viel mehr Zeit in Anspruch nimmt, als ich es vorziehen würde.

Ich könnte sie jedoch alle in verschiedenen Unterpaketen unter einem Paket zusammenfassen. Wenn es also eine Möglichkeit gibt, wie ich sie einmal für alle Tests in diesem Paket einrichten kann, wäre das großartig.

Antworten auf die Frage(6)

Ihre Antwort auf die Frage