TestNG - Ejecución de pruebas

Los casos de prueba se ejecutan usando TestNGclase. Esta clase es el principal punto de entrada para ejecutar pruebas en el marco TestNG. Los usuarios pueden crear su propio objeto TestNG e invocarlo de muchas formas diferentes, como:

  • En un testng.xml existente.

  • En un testng.xml sintético, creado completamente a partir de Java.

  • Configurando directamente las clases de prueba.

También puede definir qué grupos incluir o excluir, asignar parámetros, etc. Los parámetros de la línea de comando son:

  • -d dir_salida: especifica el directorio de salida.

  • -testclass class_name: especifica uno o varios nombres de clase.

  • -testjar jar_name: especifica el jar que contiene las pruebas.

  • -sourcedir src1; src2:; lista separada de directorios de origen (se usa solo cuando se usan anotaciones javadoc).

  • -target

  • -groups

  • -testrunfactory

  • -listener

Crearemos el objeto TestNG como un testng.xml existente en nuestro ejemplo a continuación.

Crear una clase

Cree una clase de Java para probar, digamos, MessageUtil.java en C:\>TestNG_WORKSPACE.

/*
* This class prints the given message on console.
*/

public class MessageUtil {

   private String message;

   //Constructor
   //@param message to be printed
   public MessageUtil(String message) {
      this.message = message;
   }
      
   // prints the message
   public String printMessage() {
      System.out.println(message);
      return message;
   }   
}

Crear clase de caso de prueba

  • Cree una clase de prueba de Java, digamos, SampleTest.java.

  • Agregue un método de prueba testPrintMessage () a su clase de prueba.

  • Agregue una Anotación @Test al método testPrintMessage ().

  • Implemente la condición de prueba y verifique la condición usando la API assertEquals de TestNG.

Cree un archivo de clase java llamado SampleTest.java en C:\>TestNG_WORKSPACE.

import org.testng.Assert;
import org.testng.annotations.Test;

public class SampleTest {
	
   String message = "Hello World";
   MessageUtil messageUtil = new MessageUtil(message);

   @Test
   public void testPrintMessage() {
      Assert.assertEquals(message, messageUtil.printMessage());
   }
}

Crear testng.xml

A continuación, creemos el archivo testng.xml en C:\>TestNG_WORKSPACE, para ejecutar caso (s) de prueba. Este archivo captura todas sus pruebas en XML. Este archivo facilita la descripción de todos sus conjuntos de pruebas y sus parámetros en un archivo, que puede verificar en su depósito de código o enviar por correo electrónico a sus compañeros de trabajo. También facilita la extracción de subconjuntos de sus pruebas o la división de varias configuraciones de tiempo de ejecución (por ejemplo, testngdatabase.xml solo ejecutaría pruebas que ejerciten su base de datos).

<?xml version = "1.0" encoding = "UTF-8"?>

<suite name = "Sample test Suite">
   <test name = "Sample test">
      <classes>
         <class name = "SampleTest" />
      </classes>
   </test>
</suite>

Compile el caso de prueba usando javac.

C:\TestNG_WORKSPACE>javac MessageUtil.java SampleTest.java

Ahora, ejecute testng.xml, que ejecutará el caso de prueba definido en la etiqueta <test>.

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

Verifique la salida.

Hello World

===============================================
Sample test Suite
Total tests run: 1, Failures: 0, Skips: 0
===============================================