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

En Junit, la suite de pruebas nos permite agregar todos los casos de prueba de mรบltiples 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 prueba.
  • 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

Consideremos un ejemplo mรกs complejo

Prueba Junit.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 Prueba Junit.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 Prueba Junit.java que contiene una suite que tiene prueba1.java y prueba2.java, obtendrรก el siguiente resultado:

SuitePrueba2.Java Salida

SuitePrueba2.Java Salida

Resumen

En este tutorial, aprendiรณ los conceptos bรกsicos del arnรฉs de prueba y los conjuntos de pruebas en detalle 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.
  • En Junit, la suite de pruebas nos permite agregar todos los casos de prueba de muchas clases en un solo lugar y ejecutarlos juntos.

Resumir este post con: