Hallo,
ich teste meine DAOs via @TransactionConfiguration(defaultRollback = true), was auch soweit gut klappt. Nun habe ich mir einen Mechanismus geschrieben, der bestimmte Teile des Objektgraphen automatisch per Join oder Select vorlädt. Ich möchte diesen Mechanismus nun gerne unittesten, weiss jedoch nicht so genau wie. Um zu prüfen, welche Daten im Objektgraph schon geladen sind und welche nicht (als noch lazy sind), müsste ich die Transaktion schließen. Das funktioniert dann natürlich nicht mehr mit dem defaultRollback = true. Besser wäre also, die Transaktion zu suspenden. Leider weiss ich nicht, ob und wie das möglich ist. Meine Unittests erben von AbstractTransactionalTestNGSpringContextTests. Ich habe versucht, in meiner Testklasse eine Methode mit @Transactional(propagation = Propagation.NOT_SUPPORTED) zu deklarieren und in dieser Methode das Property aufzurufen. Aber offenbar werden diese Annotations in den Unittests ignoriert.
Gibts vielleicht noch eine andere Möglichkeit, bei Hibernate-Objekten zu prüfen, ob ein Property geladen oder noch lazy ist?
Wäre über Anregungen dankbar.
TIA byto
ich teste meine DAOs via @TransactionConfiguration(defaultRollback = true), was auch soweit gut klappt. Nun habe ich mir einen Mechanismus geschrieben, der bestimmte Teile des Objektgraphen automatisch per Join oder Select vorlädt. Ich möchte diesen Mechanismus nun gerne unittesten, weiss jedoch nicht so genau wie. Um zu prüfen, welche Daten im Objektgraph schon geladen sind und welche nicht (als noch lazy sind), müsste ich die Transaktion schließen. Das funktioniert dann natürlich nicht mehr mit dem defaultRollback = true. Besser wäre also, die Transaktion zu suspenden. Leider weiss ich nicht, ob und wie das möglich ist. Meine Unittests erben von AbstractTransactionalTestNGSpringContextTests. Ich habe versucht, in meiner Testklasse eine Methode mit @Transactional(propagation = Propagation.NOT_SUPPORTED) zu deklarieren und in dieser Methode das Property aufzurufen. Aber offenbar werden diese Annotations in den Unittests ignoriert.
Gibts vielleicht noch eine andere Möglichkeit, bei Hibernate-Objekten zu prüfen, ob ein Property geladen oder noch lazy ist?
Wäre über Anregungen dankbar.
TIA byto