Crear JUnit Conjunto de pruebas con ejemplo: @RunWith @SuiteClasses

In Junit, el conjunto de pruebas nos permite agregar todos los casos de prueba de varias clases en un solo lugar y ejecutarlos juntos.

Para ejecutar la prueba de la suite, debe anotar una clase utilizando las anotaciones que se mencionan a continuación:

  1. @Runwith(Suite.clase)
  2. @SuiteClasses(prueba1.clase, prueba2.clase……) o@Suite.SuiteClasses ({prueba1.clase, prueba2.clase……})

Con las anotaciones anteriores, todas las clases de prueba de la suite comenzarán a ejecutarse una por una.

Pasos para crear Test Suite y Test Runner

Paso 1) Cree una clase de prueba simple (por ejemplo, MyFirstClassTest) y agregue un método anotado con @test.

Pasos para crear un conjunto de pruebas y un ejecutor de pruebas

Paso 2) Cree otra clase de prueba para agregar (por ejemplo, MySecondClassTest) y cree un método anotado con @test.

Pasos para crear un conjunto de pruebas y un ejecutor de pruebas

Paso 3) Para crear un testSuite, primero debe anotar la clase con @RunWith(Suite.class) y @SuiteClasses(class1.class2…..).

Pasos para crear un conjunto de pruebas y un ejecutor de pruebas

Paso 4) Cree una clase Test Runner para ejecutar nuestro conjunto de pruebas como se indica a continuación;

Pasos para crear un conjunto de pruebas y un ejecutor de pruebas

Explicación del código:

  • Línea de código 8: Declarando el método principal de la prueba de clase que ejecutará nuestro JUnit .
  • Línea de código 9: Ejecutar casos de prueba utilizando JunitCore.runclasses que toma el nombre de la clase de prueba como parámetro (en el ejemplo anterior, está utilizando TestSuiteExample.class que se muestra en el paso 3).
  • Línea de código 11: Procesando el resultado usando el bucle for e imprimiendo el resultado fallido.
  • Línea de código 13: Imprimiendo el resultado exitoso.

Salida: Aquí está el resultado que muestra una prueba exitosa sin rastro de falla como se indica a continuación:

Pasos para crear un conjunto de pruebas y un ejecutor de pruebas

JUnit Ejemplo de conjunto de pruebas

Considere una más complex ejemplo

Junitprueba.java

JunitTest.java es una clase simple anotada con @Corre con y @Suite anotaciones. Puede enumerar la cantidad de .classes en la suite como parámetros como se indica a continuación:

package guru99.junit;		
import org.junit.runner.RunWith;		
import org.junit.runners.Suite;		

@RunWith(Suite.class)				
@Suite.SuiteClasses({				
  SuiteTest1.class,
  SuiteTest2.class,  			
})		

public class JunitTest {				
			// This class remains empty, it is used only as a holder for the above annotations		
}

SuiteTest1.java

SuiteTest1.java es una clase de prueba que tiene un método de prueba para imprimir un mensaje como se indica a continuación. Utilizará esta clase como una suite en la clase mencionada anteriormente.

package guru99.junit;		

import static org.junit.Assert.assertEquals;				

import org.junit.Test;		

public class SuiteTest1 {				

    public String message = "Saurabh";							

    JUnitMessage junitMessage = new JUnitMessage(message);							

    @Test(expected = ArithmeticException.class)					
    public void testJUnitMessage() {					

        System.out.println("Junit Message is printing ");					
        junitMessage.printMessage();			

    }		

    @Test		
    public void testJUnitHiMessage() {					
        message = "Hi!" + message;							
        System.out.println("Junit Hi Message is printing ");					
        assertEquals(message, junitMessage.printHiMessage());					
        System.out.println("Suite Test 2 is successful " + message);							
    }		
}		

SuiteTest2.java

SuiteTest2.java es otra clase de prueba similar a SuiteTest1.java tener un método de prueba para imprimir un mensaje como se indica a continuación. Utilizarás esta clase como suite en Junitprueba.java.

package guru99.junit;		

import org.junit.Assert;		
import org.junit.Test;		

public class SuiteTest2 {				
   	

    @Test		
    public void createAndSetName() {					
        		

        String expected = "Y";					
        String actual = "Y";					

        Assert.assertEquals(expected, actual);					
        System.out.println("Suite Test 1 is successful " + actual);							
    }		

}		

Salida

Después de ejecutar JunitProbar.java que contiene una suite que tiene prueba1.java y prueba2.java, obtendrá el siguiente resultado:

Salida de SuiteTest2.Java

Salida de SuiteTest2.Java

Resumen

En este tutorial, ha aprendido los conceptos básicos del arnés de prueba y los conjuntos de pruebas en details con un ejemplo.

  • Arnés de prueba o automatización Pruebas es un software o una colección de software que permite al usuario probar datos con múltiples entradas y controlar la ejecución.
  • El arnés de prueba en realidad habilita un marco de prueba que hace todo el trabajo de ejecutar pruebas utilizando una biblioteca de pruebas y generando un informe de prueba.
  • In Junit, el conjunto de pruebas nos permite agregar todos los casos de prueba de muchas clases en un solo lugar y ejecutarlos juntos.