A veces, es posible que deba no ejecutar un método / código o un caso de prueba porque la codificación no se realiza completamente. Para esa prueba en particular, JUnit proporciona la anotación @Ignore para omitir la prueba.
En este tutorial, aprenderá:
- ¿Qué es la anotación de prueba JUnit @Ignore?
- Ejemplo de prueba de Junit: ignorar
- Crear una clase de prueba simple sin ignorar una prueba
- Ignore un método de prueba usando la anotación @Ignore
- Usando @ ignorar anotación con condición
- Ignore todos los métodos de prueba utilizando la anotación @Ignore.
¿Qué es la anotación de prueba JUnit @Ignore?
La anotación de prueba @Ignore se utiliza para ignorar pruebas particulares o grupos de pruebas con el fin de omitir el error de compilación.
La anotación @Ignore se puede utilizar en dos escenarios como se indica a continuación:
- Si desea ignorar un método de prueba, use @Ignore junto con la anotación @Test.
- Si desea ignorar todas las pruebas de la clase, use la anotación @Ignore en el nivel de la clase.
Puede proporcionar el motivo para deshabilitar una prueba en el parámetro opcional proporcionado por la anotación @Ignore.
Ayudará a otros desarrolladores que trabajan en el mismo código a comprender "¿por qué una prueba en particular está deshabilitada?" Cuando se solucione el problema de esa prueba en particular, simplemente puede habilitarla eliminando la anotación @Ignore .
Ejemplo de prueba de Junit: ignorar
Como se discutió en la definición anterior, puede usar la anotación @Ignore para ignorar una prueba o grupo de la prueba.
Entendamos usando un ejemplo simple y en los siguientes escenarios dados:
- Crear una clase de prueba simple sin ignorar una prueba.
- Ignore un método de prueba usando la anotación @Ignore.
- Ignore un método de prueba utilizando la anotación @Ignore con la razón adecuada
- Ignore todos los métodos de prueba utilizando la anotación @Ignore.
Crear una clase de prueba simple sin ignorar una prueba
Creemos una clase Java simple que imprima dos tipos de mensajes.
- El primer método imprime un mensaje simple y
- El segundo método imprime un mensaje de "hola"
JUnitMessage.java
paquete guru99.junit;public class JUnitMessage {mensaje de cadena privada;public JUnitMessage (mensaje de cadena) {this.message = mensaje;}public String printMessage () {System.out.println (mensaje);mensaje de retorno;}public String printHiMessage () {mensaje = "¡Hola!" + mensaje;System.out.println (mensaje);mensaje de retorno;}}
JunitTestExample.java
Creemos una clase de prueba JUnit para probar JUnitMessage.java.
En esta clase de prueba JUnit,
- Primera prueba, llamada "testJUnitMessage ()" prueba el método "printMessage ()" de la clase anterior.
- De manera similar, la segunda prueba, llamada "testJUnitHiMessage" prueba "testJUnitHiMessage" de la clase anterior.
paquete guru99.junit;importar org.junit.Assert.assertEquals estático;import org.junit.Test;public class JunitTestExample {mensaje de cadena pública = "Guru99";JUnitMessage junitMessage = new JUnitMessage (mensaje);@Pruebapublic void testJUnitMessage () {System.out.println ("El mensaje de Junit se está imprimiendo");assertEquals (mensaje, junitMessage.printMessage ());}@Pruebapublic void testJUnitHiMessage () {message = "¡Hola!" + mensaje;System.out.println ("El mensaje de alta de Junit se está imprimiendo");assertEquals (mensaje, junitMessage.printHiMessage ());}}
TestRunner.java
Creemos una clase de corredor de prueba para ejecutar JunitTestExample.java
paquete guru99.junit;import org.junit.runner.JUnitCore;import org.junit.runner.Result;import org.junit.runner.notification.Failure;TestRunner de clase pública {public static void main (String [] args) {Resultado resultado = JUnitCore.runClasses (JunitTestExample.class);for (Failure failure: result.getFailures ()) {System.out.println (failure.toString ());}System.out.println ("Resultado ==" + resultado.wasSuccessful ());}}
Producción:
Imprimir declaración en la consola:
Junit Hola mensaje se está imprimiendo
¡Hola! Guru99
El mensaje de Junit se está imprimiendo
Guru99
Ignore un método de prueba usando la anotación @Ignore
Creemos ignorar la prueba para deshabilitar una prueba en el ejemplo anterior. Para esto, debe usar @Ignore en el método que desea omitir.
Hagámoslo para testJUnitMessage () de JunitTestExample.java
JunitTestExample.java
paquete guru99.junit;importar org.junit.Assert.assertEquals estático;import org.junit.Ignore;import org.junit.Test;public class JunitTestExample {mensaje de cadena pública = "Guru99";JUnitMessage junitMessage = new JUnitMessage (mensaje);@Ignorar@Pruebapublic void testJUnitMessage () {System.out.println ("El mensaje de Junit se está imprimiendo");assertEquals (mensaje, junitMessage.printMessage ());}@Pruebapublic void testJUnitHiMessage () {message = "¡Hola!" + mensaje;System.out.println ("El mensaje de alta de Junit se está imprimiendo");assertEquals (mensaje, junitMessage.printHiMessage ());}}
Producción:
Ejecutemos y verifiquemos el resultado del ejemplo anterior.
A continuación, el resultado muestra que se omite (deshabilita) una prueba, consulte lo que se indica a continuación:
Imprimir declaración en la consola:
Junit Hola mensaje se está imprimiendo
¡Hola! Guru99
Usando @ ignorar anotación con condición
Tomemos el ejemplo de cómo ignorar una prueba y definamos la razón para ignorarla. Como se mencionó anteriormente, para proporcionar una razón, tiene un parámetro opcional en la anotación @Ignore donde puede proporcionar la declaración de razón.
JunitTestExample.java
paquete guru99.junit;importar org.junit.Assert.assertEquals estático;import org.junit.Ignore;import org.junit.Test;public class JunitTestExample {mensaje de cadena pública = "Guru99";JUnitMessage junitMessage = new JUnitMessage (mensaje);@Ignore ("aún no está listo, ignórelo")@Pruebapublic void testJUnitMessage () {System.out.println ("El mensaje de Junit se está imprimiendo");assertEquals (mensaje, junitMessage.printMessage ());}@Pruebapublic void testJUnitHiMessage () {message = "¡Hola!" + mensaje;System.out.println ("El mensaje de alta de Junit se está imprimiendo");assertEquals (mensaje, junitMessage.printHiMessage ());}}
Producción:
Lo mismo que arriba.
Ignore todos los métodos de prueba utilizando la anotación @Ignore.
Como se mencionó anteriormente, para ignorar todas las pruebas en clase, debe usar la anotación @Ignore a nivel de clase.
Modifiquemos el ejemplo anterior para entender cómo ignorar todas las pruebas:
paquete guru99.junit;importar org.junit.Assert.assertEquals estático;import org.junit.Ignore;import org.junit.Test;@Ignorarpublic class JunitTestExample {mensaje de cadena pública = "Guru99";JUnitMessage junitMessage = new JUnitMessage (mensaje);@Pruebapublic void testJUnitMessage () {System.out.println ("El mensaje de Junit se está imprimiendo");assertEquals (mensaje, junitMessage.printMessage ());}@Pruebapublic void testJUnitHiMessage () {message = "¡Hola!" + mensaje;System.out.println ("El mensaje de alta de Junit se está imprimiendo");assertEquals (mensaje, junitMessage.printHiMessage ());}}
Producción :
Imprimir declaración en la consola:
Como ambas pruebas se omitieron al usar @Ignore a nivel de clase, no se imprimirá ninguna declaración en la consola.
Resumen:
En este tutorial, aprendió cómo ignorar una sola prueba, un grupo de pruebas o todas las pruebas usando la anotación @Ignore.
La anotación @Ignore se puede utilizar en dos escenarios como se indica a continuación:
- Si desea ignorar un método de prueba, use @Ignore junto con la anotación @Test.
- Si desea ignorar todas las pruebas de la clase, use la anotación @Ignore en el nivel de la clase.
También aprendió cómo proporcionar una declaración para hacer comprender a otros desarrolladores por qué una prueba en particular está deshabilitada.