12 de nov de 2012

Verificar cobertura de testes com o plugin do Cobertura para o Maven


O Cobertura é uma ferramenta que verifica o quanto seu código está sendo testado. Ao final da execução dos testes unitários, o Cobertura gera um relatório contendo todas as classes do projeto e a porcentagem das linhas de código que foram testadas.

É uma ferramenta importante para medir o quão eficiente está a implementação dos testes unitários.

Nesse exemplo vamos usar o plugin do Cobertura para o Maven afim de tornar nossa vida um pouco mais fácil.

Primeiramente precisamos configurar o plugin. Segue o trecho que deve ser inserido no pom.xml:
        
 
  
   org.codehaus.mojo
   cobertura-maven-plugin
   2.5.2
   
    
     html
    
   
  
 


Segundo, precisaremos de uma classe qualquer e um teste unitário:

Calculator.java
package com.coberturaexample;

public class Calculator {

    public double sum(double v1, double v2){
        return v1 + v2;
    }
    
    public double sub(double v1, double v2){
        return v1 - v2;
    }
    
    public double mult(double v1, double v2){
        return v1 * v2;
    }
    
    public double div(double v1, double v2){
        return v1 / v2;
    }
    
}

CalculatorTest.java
package com.coberturaexample;

import org.junit.Assert;
import org.junit.Test;

public class CalculatorTest {

    @Test
    public void testSum() {        
        Calculator calc = new Calculator();        
        double result = calc.sum(1, 2);
        Assert.assertTrue(result == 3);
    }

    @Test
    public void testSub() {
        Calculator calc = new Calculator();
        double result = calc.sub(2, 1);
        Assert.assertTrue(result == 1);
    }

}

Nesse exemplo foram implementados apenas os testes de 2 métodos do total de 4, o que ao final vai gerar uma cobertura de 60% do código.

Seguindo, vamos fazer o build do projeto para gerar as classes e testes:

mvn install

Depois executamos o comando do Cobertura:

mvn cobertura:cobertura

Esse comando vai fazer a instrumentação do código, executar os testes e gerar o relatório de cobertura.

O relatório será gerado no diretório \target\site\cobertura.




Referências:
http://cobertura.sourceforge.net
http://mojo.codehaus.org/cobertura-maven-plugin

Código fonte: http://depositfiles.com/files/y4vm7loso

É isso ae, malandro. Aqui é Java!

Nenhum comentário:

Postar um comentário