In regelmäßigen Abständen versuche ich dieses Problem zu lösen. Meistens habe ich in der Zwischenzeit vergessen, wo ich das Problem das letzte Mal gelöst habe. Die Codestellen vermehren sich zwar, trotzdem wird es Zeit die paar Zeilen Code festzuhalten.

jUnit Spring AbstractTransactionalJUnit4SpringContextTests

Die einfachste Möglichkeit ist die Testklasse von AbstractTransactionalJUnit4SpringContextTests abzuleiten. Leider funktioniert das nur, wenn auch nur genau ein JpaTransactionManager als Spring-Bean existiert. In Systemen mit unterschiedlichen Datenquellen ist damit nichts zu machen.

jUnit Spring mit Annotations

Ist keine Ableitung erwünscht oder existieren mehr als ein TransactionManager, verwende ich meistens diese Lösung. Grundsätzlich ist das genau der Code, der in den zwei Klassen