TestNG - Relatórios Junit
JUnit é uma daquelas estruturas de unidade que foram inicialmente usadas por muitos aplicativos Java como uma estrutura de teste de unidade. Por padrão, os testes JUnit geram arquivos XML de relatório simples para sua execução de teste. Esses arquivos XML podem então ser usados para gerar quaisquer relatórios personalizados de acordo com os requisitos de teste. Também podemos gerar relatórios HTML usando os arquivos XML. O Ant tem uma tarefa de utilitário, que usa esses arquivos XML JUnit como entrada e gera um relatório HTML.
TestNG, por padrão, gera relatórios JUnit XML para qualquer execução de teste (na pasta de saída de teste ). Podemos usar esses arquivos de relatório XML como entrada para gerar um relatório HTML JUnit. Vamos dar um exemplo.
Criar classe de caso de teste
Crie uma classe java, digamos, SampleTest.java dentro C:\> TestNG_WORKSPACE.
import org.testng.Assert;
import org.testng.annotations.Test;
public class SampleTest {
@Test
public void testMethodOne() {
Assert.assertTrue(true);
}
@Test
public void testMethodTwo() {
Assert.assertTrue(false);
}
@Test(dependsOnMethods = {"testMethodTwo"})
public void testMethodThree() {
Assert.assertTrue(true);
}
}
A classe de teste anterior contém três métodos de teste dos quais testMethodOne e testMethodThree serão aprovados quando executados, enquanto testMethodTwo falha ao passar um valor booleano falso para o método Assert.assertTrue, que é usado para condições de verdade nos testes.
Crie testng.xml
Crie testng.xml em C:\> TestNG_WORKSPACE para executar caso (s) de teste.
<?xml version = "1.0" encoding = "UTF-8"?>
<suite name = "Simple Suite">
<test name = "Simple test">
<classes>
<class name = "SampleTest" />
</classes>
</test>
</suite>
Compile a classe SampleTest usando javac.
C:\TestNG_WORKSPACE>javac SampleTest.java
Agora, execute testng.xml.
C:\TestNG_WORKSPACE>java -cp "C:\TestNG_WORKSPACE" org.testng.TestNG testng.xml
Verifique a saída.
===============================================
Simple Suite
Total tests run: 3, Failures: 1, Skips: 1
===============================================
Agora que temos relatórios JUnit XML disponíveis a partir da execução acima, vamos criar um arquivo XML de configuração de construção Ant simples para gerar um relatório HTML para a execução do teste.
Crie um novo arquivo chamado build.xml em C:\> TestNG_WORKSPACE pasta.
<project name = "TestNG_WORKSPACE" default = "junit-report" basedir = ".">
<!-- Sets the property variables to point to respective directories -->
<property name = "junit-xml-dir" value="${basedir}/test-output/junitreports"/>
<property name = "report-dir" value="${basedir}/html-report" />
<!-- Ant target to generate html report -->
<target name = "junit-report">
<!-- Delete and recreate the html report directories -->
<delete dir = "${report-dir}" failonerror="false"/>
<mkdir dir = "${report-dir}" />
<mkdir dir = "${report-dir}/Junit" />
<!-- Ant task to generate the html report.
todir - Directory to generate the output reports
fileset - Directory to look for the junit xml reports.
report - defines the type of format to be generated.
Here we are using "noframes" which generates a single html report.
-->
<junitreport todir = "${report-dir}/Junit">
<fileset dir = "${junit-xml-dir}">
<include name = "**/*.xml" />
</fileset>
<report format = "noframes" todir = "${report-dir}/Junit" />
</junitreport>
</target>
</project>
O XML anterior define um arquivo build.xml Ant simples com um destino Ant específico denominado junit-report que gera um relatório JUnit quando executado. O destino procura os arquivos XML do relatório JUnit no diretório test-output / junitreports. Para o arquivo de configuração Ant, o destino padrão a ser executado é configurado como junit-report.
Abra a janela do prompt de comando e vá para o diretório C: \> TestNG_WORKSPACE no prompt de comando e execute o comando:
C:\TestNG_WORKSPACE> ant
Uma vez executado, um relatório HTML JUnit será gerado no diretório / html-report / Junit configurado. Abra o arquivo denominado junit-noframes.html em seu navegador da web padrão. Você verá o seguinte relatório HTML -
Aqui, vimos como usar o relatório XML JUnit gerado pelo TestNG e gerar o relatório HTML usando Ant. Existem dois tipos de relatórios que podem ser gerados usando este método:frames e no-frames.
Se a geração do relatório for configurada com frames, haverá vários arquivos gerados para cada classe e o relatório principal se conectará a eles por meio de links. UMAno-framesO relatório consiste em um único arquivo com todos os resultados da execução do teste. Isso pode ser configurado fornecendo o respectivo valor ao atributo de formato da tarefa de relatório no Ant.