Buscar
Social
Ofertas laborales ES

Foro sobre Java EE > Test Unitarios

Estoy haciendo test unitarios (Junit), realice uno en el que se llama a un servicio que ingresa un usuario y verifica sus datos, ahora me toca hacer uno de actualización y me surgen las siguientes dudas en cuanto a buenas prácticas:

- Es bueno primero realizar la llamada al servicio crear y luego al actualizar dentro del test actualizar? (No me refiero a llamar al test anterior, sino al servicio).

- Es mejor crear los datos sobre los cuales se les realizara las pruebas y luego borrarlos con un @before y @after respectivamente sin depender de los servicios que realicen este trabajo?.

Gracias =)

octubre 22, 2012 | Unregistered Commentermercenario

DBUnit te ayuda a tener un juego de datos básico para los tests de junit.

Saludos

octubre 23, 2012 | Unregistered CommenterJanfry

Como toda buena respuesta tiene que empezar, depende :).
Lo ideal es que pruebe una sola funcionalidad.Si no, si falla el test de actualización, no sabras si es debido al de insertar o actualizar.
Sin embargo, puede ser que el servicio de insertar un usuario actualice varias tablas, con lo que el esfuerzo de realizarlo y mantenerlo se convierte en algo costoso.
Indudablemente es mejor y borrar los datos de prueba al final del test. De esa manera puedes repetir las pruebas a menudo sin polucionar mucho la base de datos.
Es más, en algún proyecto en que he estado, las pruebas de integración continua regeneraban la base de datos desde cero, para comprobar que la base de datos era "limpia" y los datos "basura" de un test no afectaban a otros test.

octubre 23, 2012 | Registered Commenteraninki

DBUnit, con sus DataSets te permite dejar la base de datos a 0 y cargarla al inicio de los tests.

Saludos

octubre 24, 2012 | Unregistered CommenterJanfry