Your SlideShare is downloading. ×
0
EMMA<br />Ferramenta para teste de cobertura de código<br />
EMMA é uma ferramenta para calcular a porcentagem de código acessado pelos testes.  <br />O que é<br />
Ela oferece a visão da cobertura alcançada pelos testes por classes, métodos, blocos e linhas.<br />Semelhante ao Cobertur...
Exemplos<br />Página inicial do relatório. Aqui é possível visualizar um resumo do projeto(total de linhas, todos os pacot...
Na visão de umpacote é exibido todas as classes pertencentes aquele pacote e as porcentagens de cobertura(class, %; method...
Visualização de uma classe. Aqui é possível analisar a cobertura dos métodos da classe.<br />Exemplos (cont.)<br />
Ainda na visualização da classe é possível analisar quais linhas especificamente estão sendo cobertas pelos testes.<br />E...
Para integrar o EMMA com o Maven é necessário configurar o “pom.xml” do projeto onde está localizado as classes de testes ...
Entretanto, vale lembrar que antes de executar o EMMA é invocado a fase de “test”. Isso garante que o “instrument”, ou sej...
<ul><li>A configuração do EMMA na tag “build” permite, assim como Cobertura, redefinir as fases do ciclo de vida de constr...
No exemplo a seguir o EMMA informa que na fase “process-classes" será executado seu “goal” “instrument”.</li></ul>Configur...
<build><br />   <plugins><br />      <!-- Emma --><br />      <plugin><br /><groupId>org.codehaus.mojo</groupId><br />    ...
Para que sejam definidas quais classes serão contempladas no relatório é necessário configurar outro plugin: Surefire. <br...
<build><br />   <plugins><br />      <!-- Surefire --><br />         <plugin><br />            <groupId>org.apache.maven.p...
<forkMode>once</forkMode><br />               <reportFormat>xml</reportFormat><br />            </configuration><br />    ...
O relatório HTML gerado pelo plugin do EMMA pode ser incluído nos relatórios exibidos do “site” do projeto. <br />Para iss...
<reporting><br />   <plugins><br />      <!-- EMMA --><br />      <plugin><br />         <groupId>org.codehaus.mojo</group...
Upcoming SlideShare
Loading in...5
×

EMMA - Ferramenta para teste de cobertura

2,274

Published on

Apresentação sobre a ferramenta de teste de cobertura: EMMA 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,274
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
33
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "EMMA - Ferramenta para teste de cobertura"

  1. 1. EMMA<br />Ferramenta para teste de cobertura de código<br />
  2. 2. EMMA é uma ferramenta para calcular a porcentagem de código acessado pelos testes. <br />O que é<br />
  3. 3. Ela oferece a visão da cobertura alcançada pelos testes por classes, métodos, blocos e linhas.<br />Semelhante ao Cobertura, o EMMA exibe o código da classe testada e especificamente se a linha está sendo abrangida ou não pelos testes.<br />O EMMA possibilita gerar relatórios em HTML, XML ou arquivo txt.<br />Finalidades<br />
  4. 4. Exemplos<br />Página inicial do relatório. Aqui é possível visualizar um resumo do projeto(total de linhas, todos os pacotes e etc).<br />
  5. 5. Na visão de umpacote é exibido todas as classes pertencentes aquele pacote e as porcentagens de cobertura(class, %; method, %; etc).<br />Exemplos (cont.)<br />
  6. 6. Visualização de uma classe. Aqui é possível analisar a cobertura dos métodos da classe.<br />Exemplos (cont.)<br />
  7. 7. Ainda na visualização da classe é possível analisar quais linhas especificamente estão sendo cobertas pelos testes.<br />Exemplos (cont.)<br />
  8. 8. Para integrar o EMMA 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 relatório do EMMA é gerado na fase de “test” do ciclo de vida de construção “site” do Maven(Build Lifecycle). (mvnsite-deploy).<br />Automatizando o teste do EMMA com Maven<br />
  9. 9. Entretanto, vale lembrar que antes de executar o EMMA é invocado a fase de “test”. Isso garante que o “instrument”, ou seja, as classes compiladas que servirão de base para teste sejam geradas antes do relatório propriamente dito.<br />É possível gerar o relatório do EMMA pelo comando:mvnemma:emma.<br />Automatizando o teste do EMMA com Maven (cont.)<br />
  10. 10. <ul><li>A configuração do EMMA na tag “build” permite, assim como Cobertura, redefinir as fases do ciclo de vida de construção do Maven acrescentando “goals” do EMMA.
  11. 11. No exemplo a seguir o EMMA informa que na fase “process-classes" será executado seu “goal” “instrument”.</li></ul>Configuração do pom.xml<br />
  12. 12. <build><br /> <plugins><br /> <!-- Emma --><br /> <plugin><br /><groupId>org.codehaus.mojo</groupId><br /> <artifactId>emma-maven-plugin</artifactId><br /> <inherited>true</inherited><br /> <executions><br /> <execution><br /> <phase>process-classes</phase><br /> <goals><br /> <goal>instrument</goal><br /> </goals><br /> </execution><br /> </executions><br /> </plugin><br /> </plugins> <br /></build><br />Configuração do pom.xml (cont.)<br />
  13. 13. Para que sejam definidas quais classes serão contempladas no relatório é necessário configurar outro plugin: Surefire. <br />O Surefire irá disparar os testes e criar a base “instrument” para que seja construído o relatório EMMA.<br /><ul><li>Exemplo:</li></ul>Configuração do pom.xml (cont.)<br />
  14. 14. <build><br /> <plugins><br /> <!-- Surefire --><br /> <plugin><br /> <groupId>org.apache.maven.plugins</groupId><br /> <artifactId>maven-surefire-plugin</artifactId><br /> <version>2.5</version><br /> <inherited>true</inherited><br /> <configuration><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 /></excludes><br />Configuração do pom.xml (cont.)<br />
  15. 15. <forkMode>once</forkMode><br /> <reportFormat>xml</reportFormat><br /> </configuration><br /> </plugin><br /> </plugins> <br /></build><br />Configuração do pom.xml (cont.)<br />
  16. 16. O relatório HTML gerado pelo plugin do EMMA pode ser incluído nos relatórios exibidos do “site” do projeto. <br />Para isso é necessário somente mencionar o plugin na tag “reporting” do seu pom.xml<br /><ul><li>Exemplo:</li></ul>Configuração do pom.xml (cont.)<br />
  17. 17. <reporting><br /> <plugins><br /> <!-- EMMA --><br /> <plugin><br /> <groupId>org.codehaus.mojo</groupId><br /> <artifactId>emma-maven-plugin</artifactId><br /> <inherited>true</inherited><br /> </plugin><br /> </plugins><br /></reporting><br />Configuração do pom.xml (cont.)<br />
  18. 18. Perguntas<br />
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×