Introducción a las anotaciones JUnit

JUnit es uno de los marcos de prueba de código abierto más potentes y basados ​​en Java disponibles de forma gratuita en el mercado. Ayuda en la creación fácil y rápida de casos de prueba y la ejecución de casos de prueba de acuerdo con los requisitos con la ayuda de anotaciones. Las anotaciones básicamente proporcionan información adicional sobre las clases y los métodos que se utilizan en el código Java. Ayuda a realizar pruebas de todos y cada uno de los componentes de la unidad, ya sean métodos, clases, paquetes y variables. Se usa comúnmente para pruebas unitarias de aplicaciones. La última actualización de JUnit es JUnit5. Admite el controlador web Selenium para la prueba de automatización de aplicaciones web y móviles. org. Junit es el paquete que contiene todas las interfaces y clases para probar a través de JUnit.

JUnit Anotación s con ejemplo

A continuación se presentan algunas de las anotaciones de JUnit:

1. @Antes

Hay situaciones en las que es necesario crear algunos casos de prueba o datos de prueba antes de la ejecución del caso de prueba real. En ese caso, @Antes de las anotaciones entraron en escena. Anotar cualquier método público con esta anotación permite que el código / método se ejecute antes de cada método @test real. En el caso de la herencia, los métodos @before de la superclase se llaman primero y luego los métodos @before de la clase actual.

2. @Después

Es todo lo contrario de @Antes de la anotación. Se utiliza en los casos en que se deben realizar algunas acciones, como liberar recursos, limpiar la memoria, imprimir cualquier cosa en la consola después de la ejecución del método @test (después de la ejecución de cada caso de prueba). Hay un punto importante que se debe tener en cuenta para la anotación @After es que se ejecutará incluso en el caso en que los métodos @test o @before arrojen una excepción. En el caso de la relación sub y superclase, el método @after de la subclase / clase actual se ejecuta antes que el método @after de la superclase.

3. @BeforeClass

Esta anotación se usa en los escenarios cuando algunas acciones deben realizarse antes de la ejecución de cualquier caso de prueba de una clase en particular, como crear una conexión con la base de datos, hacer una entrada en una base de datos, entrada en los registros, etc. Cuando @BeforeClass la anotación se usa antes que cualquier método, ese método se ejecuta antes que cualquier método de prueba en una clase. Su funcionamiento es similar a la anotación @Before, solo la diferencia es que @Before ejecuta el método antes de la ejecución de cada método @test mientras que @BeforeClass se ejecuta solo una vez, es decir, antes de la ejecución de cualquier método @test en una Clase.

4. @AfterClass

Todos los recursos asignados en el método @BeforeClass deben liberarse después de la ejecución de todos los métodos @test de la clase actual. Esta desasignación de recursos o cualquier tarea importante que se realice después de la ejecución de toda la clase se realiza mediante el método @AfterClass. En términos simples, el método @AfterClass se ejecuta después de ejecutar todo el método @test de la clase actual. Se ejecuta solo una vez. Los métodos @AfterClass se ejecutan de forma obligatoria incluso si los métodos @BeforeClass arrojan una excepción.

Al igual que el método @After, el funcionamiento del método @AfterClass es similar, excepto el hecho de que el método @After se ejecuta después de cada método @test de la clase, mientras que el método @AfterClass se ejecuta una vez después de que se ejecutan todos los métodos @test de una clase.

5. @Test

Esta anotación especifica que el método público bajo esta anotación es parte del caso de prueba principal que debe ejecutarse. El método bajo @test define el caso de prueba como aprobado o no, dependiendo de si ocurre alguna excepción / error al ejecutarlo.

También se puede usar de 2 maneras:

  • @Test (timeout = 500): toma el parámetro como tiempo de espera que acepta los valores en milisegundos. Considera que el caso de prueba falló cuando tarda más de lo esperado en ejecutarse y pasar cuando se ejecuta con éxito dentro del límite de tiempo especificado.
  • @Test (se espera = Exception.class): hay situaciones en las que queremos que algunos métodos arrojen una excepción específica. El caso de prueba falla si el método no arroja ninguna excepción o la excepción mencionada anteriormente.

6. @Ignore

Hay escenarios en los que queremos ignorar algunos casos de prueba y no queremos ejecutarlos. @Ignore ayuda para lo mismo. Los métodos bajo las anotaciones @Ignore no se ejecutan y se ignoran durante la ejecución del código. Incluso en los informes generados por TestNG muestra el recuento de casos de prueba que se ignoran y el número de casos de prueba aprobados.

Ejemplo

Tomemos un ejemplo de anotaciones JUnit

package demo;
import org.junit.*;
public class JUnitAnnotationTest (
// Run once, before any @test method in the class are executed
@BeforeClass
public static void bClass() (
System.out.println("BeforeClass method is called”);
)
// Run once after all the @test methods of the class are executed
@AfterClass
public static void aClass() (
System.out.println("AfterClass method is called");
)
// Run before every @test method of a class is executed
@Before
public void bMethod() (
System.out.println("before method is called");
)
// Run after every @test method of class is executed
@After
public void aMethod() (
System.out.println("after method is called");
)
// Test method which has actual test case
@Test
public void testMethod() (
System.out.println("Test method is called");
)
)

Salida:

Ventajas de las anotaciones JUnit

A continuación se presentan algunas de las ventajas de las anotaciones JUnit:

  1. JUnit proporciona una manera fácil de ejecutar los casos de prueba de una manera específica de acuerdo con los requisitos del usuario.
  2. Es fácil ejecutar los casos de prueba múltiples en paralelo usando JUnit combinándolos en un conjunto de pruebas.
  3. Las anotaciones de JUnit utilizadas para automatizar casos de prueba en Selenium proporcionan un informe gráfico muy detallado e interactivo para el usuario, que también es muy fácil de usar.
  4. JUnit permite pasar los parámetros en el método de una manera muy simple.
  5. La anotación JUnit ayuda a realizar una codificación limpia que es muy fácil de entender tanto para los probadores como para los programadores.

Conclusión

La explicación anterior describe claramente la importancia del marco JUnit y el orden en que se invocan varias anotaciones de JUnit. Es muy importante comprender las diversas anotaciones antes de usarlas en un programa para que no cree ningún problema en el control del flujo de ejecución.

Artículos recomendados

Esta es una guía para las anotaciones JUnit. Aquí discutimos la introducción y las anotaciones de JUnit con el ejemplo que incluye @ Before, @ After, @ Test y @Ignore, etc. También puede consultar nuestros otros artículos sugeridos para obtener más información:

  1. Examen de la unidad
  2. Prueba de caja blanca
  3. Arquitectura de selenio
  4. Arnés de prueba