Cobertura - Ferramenta para teste de cobertura

2,429 views
2,311 views

Published on

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

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
2,429
On SlideShare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
38
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Cobertura - Ferramenta para teste de cobertura

  1. 1. Cobertura<br />Ferramenta para teste de cobertura de código<br />
  2. 2. Cobertura é uma ferramenta para calcular a porcentagem de código acessado pelos testes. <br />O que é<br />
  3. 3. Além de calcular a porcentagem de linhas cobertas (LineCoverage), a ferramenta calcula a porcentagem de caminhos possíveis(if, else, while, for...) abrangidos (BranchCoverage). <br />Outra funcionalidade interessante do Cobertura é apresentar a complexidade ciclomáticaMcCabe de cada classe e a média da complexidade dos pacotes de um projeto.<br />Finalidades<br />
  4. 4. 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.<br />O Cobertura gera relatórios em HTML e XML.<br />Finalidades (cont.)<br />
  5. 5. Exemplos<br />Relatório gerado em HTML:<br />
  6. 6. Cobertura mostra quais linhas de uma classe estão sendo cobertas pelos testes.<br />Exemplos (cont.)<br />
  7. 7. 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.<br />Por default o Cobertura é gerado na fase de “test” do ciclo de vida de construção do “site” do Maven(Build Lifecycle). (mvnsite-deploy)<br />É possível gerar o relatório do Cobertura pelo comando:mvn cobertura:cobertura.<br />Automatizando o teste do Cobertura com Maven<br />
  8. 8. <ul><li>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).
  9. 9. Exemplo:</li></ul>Configuração do pom.xml<br />
  10. 10. <build><br /> <plugins><br /> <!-- Cobertura --><br /> <plugin><br /> <groupId>org.codehaus.mojo</groupId><br /> <artifactId>cobertura-maven-plugin</artifactId><br /> <version>2.4</version><br /> <configuration><br /> <instrumentation><br /> <excludes><br /> <exclude>br/com/senac/turma5/dao/**/*DAO.class</exclude><br /> <exclude>br/com/senac/turma5/exceptions/*.class</exclude><br /> <exclude>br/com/senac/turma5/springmvc/*.class</exclude><br /><exclude>br/com/senac/turma5/util/*.class</exclude><br /><exclude>br/com/senac/turma5/commands/*.class</exclude><br /> <exclude>br/com/senac/turma5/controllers/**/*.class</exclude><br /> <exclude>br/com/senac/turma5/servlets/*.class</exclude><br /> </excludes><br /> </instrumentation><br />Configuração do pom.xml (cont.)<br />
  11. 11. <check><br /> <haltOnFailure>false</haltOnFailure><br /> </check><br /> </configuration><br /> <executions><br /> <execution><br /> <goals><br /> <goal>clean</goal><br /> </goals><br /> </execution><br /> </executions><br /> </plugin><br /> </plugins><br /></build><br />Configuração do pom.xml (cont.)<br />
  12. 12. <ul><li>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.
  13. 13. Exemplo:</li></ul>Configuração do pom.xml (cont.)<br />
  14. 14. <reporting><br /> <plugins><br /> <!-- Cobertura --><br /> <plugin><br /> <groupId>org.codehaus.mojo</groupId><br /> <artifactId><br />cobertura-maven-plugin<br /> </artifactId><br /> <version>2.4</version><br /> </plugin><br /> </plugins><br /></reporting><br />Configuração do pom.xml (cont.)<br />
  15. 15. Perguntas<br />

×