cobertura - ferramenta para teste de cobertura

Post on 01-Jul-2015

2.149 Views

Category:

Documents

3 Downloads

Preview:

Click to see full reader

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>

top related