O documento descreve a ferramenta EMMA, que calcula a porcentagem de código coberto pelos testes. Ela gera relatórios em HTML, XML ou txt sobre a cobertura de classes, métodos e linhas de código. O documento também explica como configurar o EMMA no Maven para integrar a geração de relatórios aos testes e ao site do projeto.
2. EMMA é uma ferramenta para calcular a porcentagem de código acessado pelos testes. O que é
3. Ela oferece a visão da cobertura alcançada pelos testes por classes, métodos, blocos e linhas. 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. O EMMA possibilita gerar relatórios em HTML, XML ou arquivo txt. Finalidades
4. Exemplos Página inicial do relatório. Aqui é possível visualizar um resumo do projeto(total de linhas, todos os pacotes e etc).
5. Na visão de umpacote é exibido todas as classes pertencentes aquele pacote e as porcentagens de cobertura(class, %; method, %; etc). Exemplos (cont.)
6. Visualização de uma classe. Aqui é possível analisar a cobertura dos métodos da classe. Exemplos (cont.)
7. Ainda na visualização da classe é possível analisar quais linhas especificamente estão sendo cobertas pelos testes. Exemplos (cont.)
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. 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). Automatizando o teste do EMMA com Maven
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. É possível gerar o relatório do EMMA pelo comando:mvnemma:emma. Automatizando o teste do EMMA com Maven (cont.)
10.
11. No exemplo a seguir o EMMA informa que na fase “process-classes" será executado seu “goal” “instrument”.Configuração do pom.xml