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:
- @Runwith(Suite.clase)
- @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.
Paso 2) Cree otra clase de prueba para agregar (por ejemplo, MySecondClassTest) y cree un método anotado con @test.
Paso 3) Para crear un testSuite, primero debe anotar la clase con @RunWith(Suite.class) y @SuiteClasses(class1.class2…..).
Paso 4) Cree una clase Test Runner para ejecutar nuestro conjunto de pruebas como se indica a continuación;
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:
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 el @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 el prueba2.java, obtendrá el siguiente resultado:
Resum
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.