Saltar al contenido

Spring Boot @WebIntegrationTest y TestRestTemplate: ¿es posible revertir las transacciones de prueba?

Solución:

¿Existe alguna forma de revertir las transacciones desencadenadas por las solicitudes realizadas a través del RestTemplate en un método de prueba?

No. No es posible revertir las transacciones administradas por su aplicación implementada.

Cuando anota su clase de prueba con @WebIntegrationTest y @SpringApplicationConfiguration, Spring Boot lanzará un contenedor de Servlet integrado e implementará su aplicación en él. Entonces, en ese sentido, su prueba y aplicación se ejecutan en dos procesos diferentes.

los Spring TestContext Framework solo gestiona transacciones gestionadas por Test. Así, la presencia de @Transactional en su clase de prueba solo influye en las transacciones administradas por pruebas locales, no en las de un proceso diferente.

Como alguien más ya mencionó, una solución alternativa sería restablecer el estado de la base de datos una vez que se haya completado la prueba. Para ello tienes varias opciones. Consulte la sección Ejecución de scripts SQL del manual de referencia para obtener más detalles.

Saludos,

Sam (autor del Spring TestContext Framework)

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *