cobertura - ferramenta para teste de cobertura

13
Ferramenta para teste de cobertura de código

Upload: wallaceroque

Post on 01-Jul-2015

2.149 views

Category:

Documents


3 download

DESCRIPTION

Apresentação sobre a ferramenta de teste de cobertura e sua integração com o Maven.

TRANSCRIPT

Page 1: Cobertura - Ferramenta para teste de cobertura

Ferramenta para teste de cobertura de código

Page 2: Cobertura - Ferramenta para teste de cobertura

Cobertura é uma ferramenta para calcular a porcentagem de código acessado pelos testes.

Page 3: Cobertura - Ferramenta para teste de cobertura

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.

Page 4: Cobertura - Ferramenta para teste de cobertura

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.

Page 5: Cobertura - Ferramenta para teste de cobertura

Relatório gerado em HTML:

Page 6: Cobertura - Ferramenta para teste de cobertura

Cobertura mostra quais linhas de uma classe estão sendo cobertas pelos testes.

Page 7: Cobertura - Ferramenta para teste de cobertura

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.

Page 8: Cobertura - Ferramenta para teste de 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:

Page 9: Cobertura - Ferramenta para teste de cobertura

<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>

Page 10: Cobertura - Ferramenta para teste de cobertura

<check><haltOnFailure>false</haltOnFailure>

</check></configuration><executions>

<execution><goals>

<goal>clean</goal></goals>

</execution></executions>

</plugin></plugins>

</build>

Page 11: Cobertura - Ferramenta para teste de cobertura

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:

Page 12: Cobertura - Ferramenta para teste de cobertura

<reporting><plugins>

<!-- Cobertura --><plugin>

<groupId>org.codehaus.mojo</groupId><artifactId>

cobertura-maven-plugin</artifactId><version>2.4</version>

</plugin></plugins>

</reporting>

Page 13: Cobertura - Ferramenta para teste de cobertura