No es una forma de base de datos independiente del de hacer esto si está utilizando la primavera junto con Hibernate.
Asegúrese de que el contexto de aplicación se creará/destruidos antes/después de cada método de prueba:
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration({"classpath*:application-context-test.xml"})
@TestExecutionListeners({DirtiesContextTestExecutionListener.class,
DependencyInjectionTestExecutionListener.class})
@DirtiesContext(classMode = ClassMode.AFTER_EACH_TEST_METHOD)
public abstract class AbstractTest {
}
Instruya Hibernate para crear automáticamente el esquema en el arranque y para descartar el esquema en el apagado:
hibernate.hbm2ddl.auto = create-drop
Ahora antes de cada prueba
- se crea el contexto de aplicación y requieren la d primavera se inyectan los frijoles (primavera)
- las estructuras de la base de datos se crean (hibernación)
- la importación.se ejecuta sql si está presente (hibernación)
y después de cada prueba
- se destruye el contexto de aplicación (resorte)
- se deja caer el esquema de base de datos (hibernación).
Si está utilizando transacciones, es posible que desee agregar el TransactionalTestExecutionListener
.
Siguiendo http://docs.oracle.com/javadb/10.8.1.2/getstart/rwwdactivity3.html como ejemplo, en lugar de simplemente capturar y descartar la 'SQLException', sería mejor descartarla solo si' e.getSQLState() .equals ("08006") ' – Raedwald