Wie zu teilen, JUnit BeforeClass Logik zwischen mehreren Klassen testen

Derzeit alle meine JUnit-tests erstrecken sich von einer gemeinsamen Basisklasse stellt Methoden bereit tagged mit @BeforeClass und @AfterClass Anmerkungen - all diese wirklich tun, ist das setup eine Reihe von statischen Ressourcen/Dienstleistungen für die tests zu verwenden.

Scheint das ein unangenehm zu mir für ein paar Gründe:

  1. Teil der Punkt JUnit4 (aus meinem Verständnis) ist, dass wir nicht benötigen, sollten Sie diese klassische test-Vererbung mehr.
  2. Wenn ich diese tests als Teil einer suite, anstatt individuell (was wir oft tun), die @BeforeClass und @AfterClass bekommen mehrmals aufgerufen wird, eine Verlangsamung des tests - wir sollten wirklich nur den Aufruf dieser einmal

Was ich gerne machen würde, ist irgendwie verschieben der aktuellen BeforeClass/AfterClass Logik aus der Vererbungskette und in etwas, das geteilt werden kann, die durch einzelne tests und die suite als ganzes.

Kann das getan werden? Wenn ja, wie? (Wenn es darauf ankommt, bin ich mit JUnit 4.7, und es könnte eine harte verkaufen, um ein update auf eine andere version)

InformationsquelleAutor Krease | 2014-12-09
Schreibe einen Kommentar