Haben Sie einen JUnit-Test als solcheEinheit Test bestanden wird, wenn @Transactional markiert, aber nicht, wenn sie nicht
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration({ "/applicationContext.xml", "/applicationContext-security.xml" })
@TransactionConfiguration(defaultRollback = true)
@Transactional
public class BlahIntegrationTests{
@Test
public void testMappingsOfHugeObjectGraph(){
}
}
einrichten Ich bin versucht zu testen, dass meine Hibernate Mappings (Anmerkung angetrieben und PPV basiert) korrekt sind und wenn Lauf wie über meinen Testdurchläufen (nur bestätigt, dass eine ID erstellt wurde).
Wenn ich die @Transactional
weg nehmen, bekomme ich Fehler mit einigen meiner Beziehungen, die ich erwartet hatte. Wer noch Gedanken darüber, warum es nicht versagt hat, wenn es @Transactional
ist?
EDIT: Um zu klären, die Ausnahme, die schlechte Hibernate Mappings wurde bezüglich geworfen wurde (es eine sehr große Objektstruktur ist, und ich habe einige von ihnen borked)
Es war in der Tat der Flush, der passieren musste. Das spezifische Problem war in den paar hundert Spalten auf meinen vielen Tischen, von denen ich wusste, dass ich ein paar Typen usw. hatte und ich benutzte den Komponententest, um sie zu reparieren. Jetzt, da ich einen dao.flush() habe, findet er die Fehler richtig. – dstarh