sábado, 25 de febrero de 2012

PRUEBAS MULTI-MODULE CON 'CLASSPATHSUITE'

Buen día en esta oportunidad mostrare sobre el manejo de una API muy buena para el manejo de las diferentes pruebas que nos podemos requerir realizar durante el desarrollo de software.

El API es ClasspathSuite y para explicarlos me basare en un escenario común:

“TENEMOS UN PROYECTO JAVA QUE ESTA COMPUESTO POR VARIOS MODULOS Y POR BUENAS PRACTICAS CADA MODULO LO TENEMOS EN APPs DISTINTAS. CADA APPs TIENE SUS CLASES DE PRUEBAS YA SEAN DE TIPO UNITARIAS Y INTEGRALES, Y REQUERIMOS ANTES DE INICIAR EL PROYECTO EJECUTAR TODAS.”


SOLUCION
- COMUN: Ejecutar clase por clase, modulo por modulo y verificar el correcto resultado de todos. Esto puede demorar.
- RECOMEMDADA: Ejecutar como máximo 3 clases, segmentada para un tipo UNITARIA, INTEGRAL y TODAS.


El DUMMY preparado muestra lo siguiente. Pasos:

1. Descagar los JARs: cpsuite-1.2.5-jar y JUnit 4.8.

2. Crear 2 proyectos JAVA que simularan a los MODULOS por separados y agregarle el JAR: JUnit:
- ModuloJAVA_01.
- ModuloJAVA_02.

3. A cada modulo crearle un clase Test que el resultado de la prueba sea correcto.
- TestModulo_01.java
- TestModulo_02.java

4. Crear un proyecto JAVA que simulara el proyecto principal llamado: DummyManejoClasspathSuite y agregarle los JARs: cpsuite-1.2.5-jar y JUnit 4.8.

5. Dentro de tipo proyecto principal damos en Botón Derecho sobre el proyecto --> Propiedades --> Java Build Path --> Pestaña Projects, y añadimos (botón Add...) todos los proyectos (en nuestro ejemplo: ModuloJAVA_01 y ModuloJAVA_02).

6. Dentro del modulo principal creamos 3 clases Test:
- AllTestJava.java: Clase que permite la ejecución de TODOS los TEST: (Unitarios y de Integración) sin restricción alguna.
- AllUnitTestJava.java: Clase que permite la ejecución de TODOS los TEST de tipo UNITARIOS. El Filtro se aplica en base a: 'Regex Expressions', en este caso es en base al nombre de la clase que NO contenga: 'IntegrationTest'.
- AllIntegrationTestJava.java: Clase que permite la ejecución de TODOS los TEST de tipo INTEGRALES. El Filtro se aplica en base a: 'Regex Expressions', en este caso es en base al nombre de la clase que SI contenga: 'IntegrationTest'.

7. Ejecutamos cada clase por separado y el resultado deberá de ser las pruebas Unitarias y/o Integrales completas según la clase Test ejecutada,


Para mayor detalle descargar el demo completo pulsando Aquí

No hay comentarios: