domingo, 22 de marzo de 2009

Plugin: EclEmma

Siempre que implemento un test, para un servicio por ejemplo, me surgen las mismas preguntas ¿se me habrá quedado partes del código sin verificar? ¿qué otras pruebas merece la pena añadir? ¿...? Con estas preguntas en mente, estuve buscando en internet y encontré lo que para mí, es simplemente una maravilla: EclEmma. Nominada a mejor herramienta de desarrollo Open Source basada en Eclipse del 2007, la verdad es que ofrece razones para ello.

EclEmma es un plugin Java de cobertura de código para Eclipse. Internamente está basado en la herramienta de cobertura de código Java EMMA. Lo mejor, es que no requiere ningún esfuerzo por parte del desarrollador, basta con instalarla [instrucciones] y reiniciar.

Para ver su funcionamiento, usaremos el siguiente test:


package es.gmr.pruebas;
import junit.framework.TestCase;
public class Test01 extends TestCase {
public void testCompleto(){
MiClase miClase = new MiClase();
int
valor;
valor = miClase.miMetodo(5, 6);
System.out.println("Valor: " + valor);
valor = miClase.miMetodo(6, 5);
System.out.println("Valor: " + valor);
}
}



package es.gmr.pruebas;
public class MiClase {
public int miMetodo(int x, int y){
if (x > y){
return x;
}
if (y > x){
return y;
}
return 0;
}
}


Luego, pulsando con el botón derecho sobre el test que queremos comprobar, tendremos una nueva opción Coverage as, donde seleccionaremos JUnit Test.


Cuando se haya ejecutado el test, en la vista Coverage, podremos ver qué porcentage del código se ha usado en cada clase. En este caso, vemos que para la clase MiClase sólo se ha usado el 86,7%.


Si visualizamos el código de MiClase, vemos que el plugin ha marcado en verde las líneas que se han usado durante el test, y en rojo las que no. Con esto, resulta mucho más sencillo determinar que pruebas faltan por hacer (obligar a que X e Y sean iguales).

No hay comentarios:

Publicar un comentario