Spring Boot @WebIntegrationTest und TestRestTemplate - Ist es möglich, Testtransaktionen zurückzusetzen?

Ich habe eine Spring Boot-Anwendung mit Spring Data Rest und benutze@WebIntegrationTest zusammen mitTestRestTemplate in meinen Integrationstests. Die Basisklasse für die Tests sieht ungefähr so aus:

@RunWith(SpringJUnit4ClassRunner.class)
@ActiveProfiles(profiles = "test")
@SpringApplicationConfiguration(classes = Application.class)
@Transactional
@TransactionConfiguration
@WebIntegrationTest("server.port: 0")
public abstract class IntegrationTest {

   ...

}

Ich habe die Erstellung einer Entität mit dem @ -Zeichen getesteTestRestTemplate um ein @ auszuführPOST Anfrage an eine Ressource. Das Problem besteht darin, dass die Transaktion, die die Entität in der Datenbank beibehält, nicht zurückgesetzt wird, obwohl meine Tests so konfiguriert sind, dass sie transaktional sind, sodass die Entität nach dem Test in der Datenbank verbleibt. Ich verstehe das irgendwie, weil die Transaktion, die im Test zurückgesetzt wird, nicht dieselbe ist, die die Entität persistiert.

Nun meine Frage ist, gibt es eine Möglichkeit, die Transaktionen zurückzusetzen, die durch die Anforderungen über das @ ausgelöst wurdeRestTemplate in einer Testmethode?

Antworten auf die Frage(6)

Ihre Antwort auf die Frage