eCobertura y EclEMMA: Plugins para la medición de cobertura del código.

2
13256

eCobertura y EclEMMA: Plugins para la medición de cobertura del código.

1. Introducción

El análisis de la cobertura de código es una de las tareas que ayudan al desarrollador a saber el porcentaje del código probado con los tests. Con este tutorial vamos a presentar dos plugins para Eclipse que nos permiten conocer in situ qué partes del código están o no siendo testeadas.

2. Entorno

Entorno utilizado para escribir este tutorial:

  • Hardware: Mac Book Pro (Core 2 Duo 2,8 Ghz, 4 GB RAM, 500 GB)
  • Sistema Operativo: Snow Leopard
  • Eclipse:3.5

3. Instalación de eCobertura.

Empezamos a instalar el plugin de eCobertura (http://ecobertura.johoop.de/), comentar que únicamente será posible utilizarlo para versiones igual o superior a Eclipse 3.5. Nos dirigimos al apartado «Install New Software» del Eclipse que en nuestro caso está en Menu «Ayuda» -> «Install New Software» y en la campo «Work with» ponemos «http://ecobertura.johoop.de/update/» y pulsamos sobre «Add…»

Luego debemos establecer un nombre al repositorio del plugin de eCobertura, por ejemplo: «eCobertura Site» y pulsamos «OK«.

Ahora seleccionamos el Site «eCobertura Site escribiendo en «Work with» «eCobertura«.

Aparecerá en la parte inferior el plugin para instalar. Lo seleccionamos y pulsamos «Next«. Volvemos a pulsar sobre «Next» y por último aceptamos la cláusula de confidencialidad y pulsamos «Finish«. El Eclipse nos preguntará si deseamos reiniciar. Diremos que sí y ya tenemos instalado nuestro plugin.

4. Instalación de EclEMMA.

Se realiza el mismo proceso que el comentado anteriormente pero modificando la url donde se encuentra el plugin «http://update.eclemma.org/». Indicar que el plugin de EclEMMA (http://update.eclemma.org/) a diferencia de eCobertura es compatible con todas las versiones de Eclipse.

5. Medición de la Cobertura.

Lo primero nos creamos un proyecto con el nombre coberturaPlugins File -> New -> Java Proyect… y seleccionamos el Wizard Java Project.

Ahora añadimos la librería de JUnit: vamos a la pestaña Add Library de la opción Java Build Path de las propiedades del proyecto, pulsamos sobre «Add Library …» y seleccionamos la librería de JUnit 4.

Creamos un pequeño ejemplo para ver cómo trabajar con ambos plugins.

5.1 El código que queremos probar: Autentia.java.

package com.adictos.ecobertura;
public class Autentia {

        public void tellMeSomething(int i) {
                if (i < 5) {
                        System.out.println("Soy menor que cinco");
                        return;
                }

                if (i % 2 == 0) {
                        System.out.println("Soy un número par");
                        return;
                }
        }
}

5.2 El test: AutentiaTest.java

package com.adictos.ecobertura.test;


import org.junit.Test;

import com.adictos.ecobertura.Autentia;

public class AutentiaTest {

        @Test
        public void testApp() {
            final Autentia autentia = new Autentia();
        }
}

6 Generar los informes

Ahora cuando saquemos el menú contextual del proyecto aparecen dos nuevas opciones "Cover As" y "Coverture As" que corresponde con las opciones para medir la cobertura de eCobertura y EclEMMA respectivamente. Para ejecutar cualquiera de ellos debemos pulsar en la opción "JUnit Test"

Esto ejecuta todos los test disponibles en el proyecto y nos muestra un informe sobre el porcentaje de cobertura que cubren los test.

6.1 Informe en eCobertura

En la vista "Coverage Session View" veremos los porcentajes de cobertura de nuestros Tests. El informe que nos muestra está agrupado por paquetes.

6.2 Informe EclEMMA

El informe de EclEMMA es algo diferente. Se agrupa por proyectos y paquetes y visualmente es algo más atractivo ya que se muestra un pequeño gráfico con los porcentajes.

En ambos casos si pulsamos sobre la clase Autentia veremos qué partes del código han sido o no cubiertas por el Test.

7. Conclusión

Como podéis ver, el uso de cualquiera de los dos plugins es muy sencillo. Ya no hay ninguna excusa para comprobar el porcentaje de cobertura de nuestros tests de una forma rápida y sencilla desde Eclipse.

2 COMENTARIOS

DEJA UNA RESPUESTA

Por favor ingrese su comentario!

He leído y acepto la política de privacidad

Por favor ingrese su nombre aquí

Información básica acerca de la protección de datos

  • Responsable:
  • Finalidad:
  • Legitimación:
  • Destinatarios:
  • Derechos:
  • Más información: Puedes ampliar información acerca de la protección de datos en el siguiente enlace:política de privacidad