TestNG - Informes de Junit

JUnit es uno de esos frameworks unitarios que fueron utilizados inicialmente por muchas aplicaciones Java como un framework de pruebas unitarias. De forma predeterminada, las pruebas JUnit generan archivos XML de informes simples para su ejecución de prueba. Estos archivos XML se pueden utilizar para generar informes personalizados según el requisito de prueba. También podemos generar informes HTML utilizando los archivos XML. Ant tiene una tarea de utilidad, que toma estos archivos JUnit XML como entrada y genera un informe HTML.

TestNG, de forma predeterminada, genera informes XML JUnit para cualquier ejecución de prueba (en la carpeta de salida de prueba ). Podemos utilizar estos archivos de informe XML como entrada para generar un informe HTML JUnit. Tomemos un ejemplo.

Crear clase de caso de prueba

Cree una clase de Java, digamos, SampleTest.java en 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);
   }
}

La clase de prueba anterior contiene tres métodos de prueba de los cuales testMethodOne y testMethodThree pasarán cuando se ejecuten, mientras que testMethodTwo falla al pasar un valor booleano falso al método Assert.assertTrue, que se usa para las condiciones de verdad en las pruebas.

Crea testng.xml

Cree testng.xml en C:\> TestNG_WORKSPACE para ejecutar caso (s) de prueba.

<?xml version = "1.0" encoding = "UTF-8"?>
<suite name = "Simple Suite">
  
   <test name = "Simple test">
      <classes>
         <class name = "SampleTest" />
      </classes>
   </test>
</suite>

Compile la clase SampleTest usando javac.

C:\TestNG_WORKSPACE>javac SampleTest.java

Ahora, ejecute testng.xml.

C:\TestNG_WORKSPACE>java -cp "C:\TestNG_WORKSPACE" org.testng.TestNG testng.xml

Verifique la salida.

===============================================
   Simple Suite
   Total tests run: 3, Failures: 1, Skips: 1
===============================================

Ahora que tenemos informes XML JUnit disponibles de la ejecución anterior, creemos un archivo XML de configuración de compilación Ant simple para generar un informe HTML para la ejecución de la prueba.

Cree un nuevo archivo llamado build.xml en C:\> TestNG_WORKSPACE carpeta.

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

El XML anterior define un archivo Ant build.xml simple que tiene un destino Ant específico llamado junit-report que genera un informe JUnit cuando se ejecuta. El destino busca los archivos XML del informe JUnit en el directorio test-output / junitreports. Para el archivo de configuración de Ant, el destino predeterminado para ejecutar se configura como junit-report.

Abra la ventana del símbolo del sistema y vaya al directorio C: \> TestNG_WORKSPACE en el símbolo del sistema y ejecute el comando:

C:\TestNG_WORKSPACE> ant

Una vez ejecutado, se generará un informe HTML JUnit en el directorio configurado / html-report / Junit. Abra el archivo llamado junit-noframes.html en su navegador web predeterminado. Verá el siguiente informe HTML:

Aquí, hemos visto cómo usar el informe XML JUnit generado por TestNG y generar un informe HTML usando Ant. Hay dos tipos de informes que se pueden generar con este método:frames y no-frames.

Si la generación de informes está configurada con marcos, se generarán varios archivos para cada clase y el informe principal se conectará a ellos a través de enlaces. UNno-framesEl informe consta de un único archivo con todos los resultados de la ejecución de la prueba. Esto se puede configurar proporcionando el valor respectivo al atributo de formato de la tarea de informe en Ant.