2017-05-28 6 views
2

Ich habe eine große Integrationstest-Suite, deren Ausführung sehr lange dauert. Der Großteil davon ist auf das Einrichten von Daten zurückzuführen. Daher muss ich die Zeit reduzieren, die für die Einrichtung der Daten für die Tests benötigt wird. Nach einigen Analysen sehe ich, dass dort Gruppen von Tests, die gemeinsame Einrichtung haben (z. B. mit @Before Annotation).JUnit Gemeinsame Einrichtung mit benutzerdefinierten Rollback-Regeln

Gibt es eine Möglichkeit, einige Rollback-Regeln in Spring und Junit einzurichten, so dass die Daten innerhalb einer Transaktion eingerichtet werden können (so kann es rückgängig gemacht werden), dann läuft jeder Test und Rollback an diesem Punkt. Daher ist die Einrichtung nur einmal erforderlich. Am Ende der Gruppe wird das Setup zurückgesetzt.

Antwort

0

JUnit bietet verschiedene test fixtures, um zu erreichen, was Sie wollen. In JUnit 4, können Sie die folgende verwenden:

  • @BeforeClass: Ausgeführt einmal vor der Test Klasse beginnt.
  • @AfterClass: Einmal ausgeführt nach der Test Klasse endet.
  • @Before: Ausgeführt vor jeden Test Fall (@Test).
  • @After: Ausgeführt nach jeder Test Fall (@Test).

Daher könnten Sie @BeforeClass für eine einmalige Einrichtung und @Before/@After für „Rollbacks“ verwenden.