Uso de JUnit

En este post vamos a aprender a probar nuestras clases con JUnit

 Crear clases de prueba

La norma para crear clases de test, es mantener la misma estructura de paquetes de la clase a probar, sólo que en el paquete test. Es decir, si tenemos una clase:

src/main/java/es/notodocodigo/MiClase.java

Tendremos su clase de prueba en el paquete test:

src/test/java/es/notodocodigo/MiClaseTest.java

Para crear las clases de test, pincharemos en Eclipse con el botón derecho en el paquete “src/test/java” y acontinuación en “New>>Other>>JUnit Test Case”:

Nueva clase de test

Nueva clase de test

A continuación le damos un nombre a la clase de test (Test + Nombre clase a probar), indicamos que clase queremos probar y que versión de JUnit usar. Podemos indicar que nos genere los métodos setUp() y tearDown()

Nueva clase de test

Nueva clase de test

Finalmente, cuando pulsamos el botón siguiente el asistente nos pregunta por los métodos que queremos seleccionar. Se nos creará la clase de test. Si analizamos las clases de test que nos crea, vemos que nos genera unos métodos llamados “test + nombre del método a probar”:

Vamos a ver un ejemplo de implementación típica:

Se ha creado un atributo “suma” con la clase a probar. JUnit, ejecuta en primer lugar el método setUp() que realiza todas las operaciones necesarias antes de realizar los test. Seguidamente ejecutará los métodos de test. Finalmente ejecutará tearDown() para realizar operaciones después de los test (por ejemplo lanzar script de base de datos., restaurar recursos… etc. Existen multitud de métodos assert, que nos ofrece JUnit, y que podemos utilizar:

Asserts

Asserts

Ejecutar los test JUnit

Existen muchas maneras. Desde eclipse, una manera directa de ejecutarlos sería con botón derecho sobre la clase de test  y seguidamente “Run As”>>”JUnit test”:

Resultado de los test

Resultado de los test

Ejecutar los test JUnit en Maven

Para ejecutar los test con Maven, basta con ejecutar test o bien Run As à Run Configurations à Maven Build y escribiendo “test” en la ventana que nos aparece. La fase de test se ejecuta también cuando ejecutamos “Instal” Recordemos las fases más comunes:

  • validate: Valida que el proyecto es válido y contiene los elementos necesarios
  • compile: Compila el código
  • test: Si utiliza un “unit testing framework” lo ejecuta. Estos test no necesitan desplegar la aplicación
  • package: Compila y empaqueta el código (como jar, etc.)
  • integration-test: Si es necesario despliega el paquete en un entorno de integración y ejecuta los test
  • verify: Verifica que el paquete es válido y cumple los criterios de calidad
  • install: Instala los paquetes en el repositorio local para resolver las dependencias en otros proyectos locales
  • deploy: hecho en un ambiente de integración o liberación, copias del final del paquete al repositorio remoto para compartir con otros desarrolladores y proyectos

Además existen otras dos fases:

  • clean: limpia los artefactos creados en compilaciones anteriores
  • site: genera documentación del sitio para este proyecto

 Vamos a ver lo que nos pasa cuando ejecutamos install, por ejemplo:

Deja un comentario

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