Notwendige Erklärung für die Notwendigkeit einer vorherigen Spülung zur Vermeidung von Fehlalarmen beim Testen mit Spring?

In demspring Dokumentation zum Testen, Es sagt aus

Vermeiden Sie False Positives beim Testen von ORM-Code

Wenn Sie Code mit einem ORM-Framework wie JPA oder Hibernate testen, leeren Sie die zugrunde liegende Sitzung innerhalb von Testmethoden, die den Sitzungsstatus aktualisieren. Wenn Sie die zugrunde liegende Sitzung des ORM-Frameworks nicht leeren, kann dies zu Fehlalarmen führen: Ihr Test besteht möglicherweise, aber derselbe Code löst in einer Live-Produktionsumgebung eine Ausnahme aus. Im folgenden auf dem Ruhezustand basierenden Beispieltestfall zeigt eine Methode ein falsches positives Ergebnis und die andere Methode zeigt die Ergebnisse des Löschens der Sitzung korrekt an.

Kann jemand erklären, warum ich Flush anrufen muss?

Antworten auf die Frage(8)

Ihre Antwort auf die Frage