cobertura - ferramenta para teste de cobertura
DESCRIPTION
Apresentação sobre a ferramenta de teste de cobertura e sua integração com o Maven.TRANSCRIPT
Ferramenta para teste de cobertura de código
Cobertura é uma ferramenta para calcular a porcentagem de código acessado pelos testes.
Além de calcular a porcentagem de linhas cobertas (Line Coverage), a ferramenta calcula a porcentagem de caminhos possíveis(if, else, while, for...) abrangidos (Branch Coverage).
Outra funcionalidade interessante do Cobertura é apresentar a complexidade ciclomática McCabe de cada classe e a média da complexidade dos pacotes de um projeto.
Além disso, é possível visualizar quais partes do código estão sendo cobertas pelos testes e a quantidade de vezes que determinada linha é testada.
O Cobertura gera relatórios em HTML e XML.
Relatório gerado em HTML:
Cobertura mostra quais linhas de uma classe estão sendo cobertas pelos testes.
Para integrar o Cobertura com o Maven é necessário configurar o “pom.xml” do projeto onde está localizado as classes de testes unitários ou do projeto pai.
Por default o Cobertura é gerado na fase de “test” do ciclo de vida de construção do “site” do Maven(Build Lifecycle). (mvn site-deploy)
É possível gerar o relatório do Cobertura pelo comando: mvn cobertura:cobertura.
A configuração do Cobertura na tag “build” permite que classes e/ou pacotes sejam excluídas da verificação do teste de cobertura além de abortar a geração do relatório caso alguma meta não seja atingida(ex.: porcentagem mínima de linhas cobertas).
Exemplo:
<build><plugins>
<!-- Cobertura --><plugin>
<groupId>org.codehaus.mojo</groupId><artifactId>cobertura-maven-plugin</artifactId><version>2.4</version><configuration>
<instrumentation><excludes>
<exclude>br/com/senac/turma5/dao/**/*DAO.class</exclude><exclude>br/com/senac/turma5/exceptions/*.class</exclude><exclude>br/com/senac/turma5/springmvc/*.class</exclude><exclude>br/com/senac/turma5/util/*.class</exclude><exclude>br/com/senac/turma5/commands/*.class</exclude><exclude>br/com/senac/turma5/controllers/**/*.class</exclude><exclude>br/com/senac/turma5/servlets/*.class</exclude>
</excludes></instrumentation>
<check><haltOnFailure>false</haltOnFailure>
</check></configuration><executions>
<execution><goals>
<goal>clean</goal></goals>
</execution></executions>
</plugin></plugins>
</build>
O relatório HTML gerado pelo plugin do Cobertura pode ser incluído nos relatórios exibidos do “site” do projeto. Para isso é necessário somente mencionar o plugin do Cobertura na tag “reporting” do seu pom.xml.
Exemplo:
<reporting><plugins>
<!-- Cobertura --><plugin>
<groupId>org.codehaus.mojo</groupId><artifactId>
cobertura-maven-plugin</artifactId><version>2.4</version>
</plugin></plugins>
</reporting>