En 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 con las anotaciones que se mencionan a continuación:
- @Runwith (Suite.class)
- @SuiteClasses (test1.class, test2.class…) o
@ Suite.SuiteClasses ({test1.class, test2.class
…})
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á nuestra prueba JUnit.
- Línea de código 9: Ejecución de 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 mostrado 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: Impresión del resultado exitoso.
Resultado: Aquí está el resultado que muestra una prueba exitosa sin rastro de falla como se indica a continuación:
Ejemplo de JUnit Test Suite
Considere un ejemplo más complejo
JunitTest.java
JunitTest.java es una clase simple con anotaciones @RunWith y @Suite . Puede enumerar la cantidad de .classes en la suite como parámetros como se indica a continuación:
paquete guru99.junit;import org.junit.runner.RunWith;import org.junit.runners.Suite;@RunWith (Suite.class)@ Suite.SuiteClasses ({SuiteTest1.class,SuiteTest2.class,})public class JunitTest {// Esta clase permanece vacía, se usa solo como un contenedor para las anotaciones anteriores}
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.
paquete guru99.junit;importar org.junit.Assert.assertEquals estático;import org.junit.Test;public class SuiteTest1 {mensaje de cadena pública = "Saurabh";JUnitMessage junitMessage = new JUnitMessage (mensaje);@Test (esperado = ArithmeticException.class)public void testJUnitMessage () {System.out.println ("El mensaje de Junit se está imprimiendo");junitMessage.printMessage ();}@Pruebapublic void testJUnitHiMessage () {message = "¡Hola!" + mensaje;System.out.println ("El mensaje de alta de Junit se está imprimiendo");assertEquals (mensaje, junitMessage.printHiMessage ());System.out.println ("Suite Test 2 es exitosa" + mensaje);}}
SuiteTest2.java
SuiteTest2.java es otra clase de prueba similar a SuiteTest1.java que tiene un método de prueba para imprimir un mensaje como se indica a continuación. Utilizará esta clase como suite en JunitTest.java .
paquete guru99.junit;import org.junit.Assert;import org.junit.Test;public class SuiteTest2 {@Pruebapublic void createAndSetName () {Cadena esperada = "Y";Cadena actual = "Y";Assert.assertEquals (esperado, real);System.out.println ("Suite Test 1 es exitosa" + actual);}}
Producción
Después de ejecutar JunitTest .java, que contiene una suite con test1.java y test2.java , obtendrá el siguiente resultado:
Resumen
En este tutorial, ha aprendido los conceptos básicos del arnés de prueba y los conjuntos de pruebas en detalle con un ejemplo.
- Prueba de arnés o automatización La prueba 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 habilita un marco de prueba que hace todo el trabajo de ejecutar pruebas utilizando una biblioteca de pruebas y generar un informe de prueba
- En Junit, el conjunto de pruebas nos permite agregar todos los casos de prueba de muchas clases en un solo lugar y ejecutarlos juntos.