JUnit @Ignorar anotación de prueba con ejemplo
A veces es posible que necesites no ejecutar un método/código o Caso de prueba porque la codificación no se realiza por completo. Para esa prueba en particular, JUnit proporciona un @Ignorar anotación para omitir la prueba.
¿Qué es JUnit @Ignorar anotación de prueba
La anotación de prueba @Ignore se utiliza para ignorar pruebas particulares o grupos de pruebas para evitar el error de compilación.
@Ignorar La anotación se puede utilizar en dos escenarios como se indica a continuación:
- Si desea ignorar un método de prueba, utilice @Ignore junto con la anotación @Test.
- Si desea ignorar todas las pruebas de clase, utilice la anotación @Ignore a nivel de 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 @Ignorar anotación.
Ejemplo de prueba Junit: Ignorar
Como se analizó en la definición anterior, puede utilizar la anotación @Ignore para ignorar una prueba o grupo de pruebas.
Entendamoslo usando un ejemplo simple y en los escenarios que se detallan a continuación:
- Crear una clase de prueba simple sin ignorar una prueba.
- Ignore un método de prueba utilizando la anotación @Ignore.
- Ignore un método de prueba utilizando la anotación @Ignore con el motivo adecuado.
- Ignore todos los métodos de prueba utilizando la anotación @Ignore.
Crear una clase de prueba simple sin ignorar una prueba
Creemos un simple Java clase que imprime dos tipos de mensajes.
- El primer método imprime un mensaje simple y
- El segundo método imprime un mensaje "hola"
JUnitMensaje.java
package guru99.junit; public class JUnitMessage { private String message; public JUnitMessage(String message) { this.message = message; } public String printMessage(){ System.out.println(message); return message; } public String printHiMessage(){ message="Hi!"+ message; System.out.println(message); return message; } }
Ejemplo de prueba Junit.java
Vamos a crear un JUnit clase de prueba para probar JUnitMensaje.java.
En este JUnit clase de prueba,
- Primera prueba, denominada “pruebaJUnitMessage()” prueba el método “printMessage()” de la clase anterior.
- De manera similar, la segunda prueba, denominada “pruebaJUnitHiMessage” prueba “pruebaJUnitHiMessage” de la clase anterior.
package guru99.junit; import static org.junit.Assert.assertEquals; import org.junit.Test; public class JunitTestExample { public String message = "Guru99"; JUnitMessage junitMessage = new JUnitMessage(message); @Test public void testJUnitMessage() { System.out.println("Junit Message is printing"); assertEquals(message, junitMessage.printMessage()); } @Test public void testJUnitHiMessage() { message="Hi!" +message; System.out.println("Junit Hi Message is printing "); assertEquals(message, junitMessage.printHiMessage()); } }
PruebaRunner.java
Creemos una clase de ejecución de pruebas para ejecutar JunitTestExample.java
package guru99.junit; import org.junit.runner.JUnitCore; import org.junit.runner.Result; import org.junit.runner.notification.Failure; public class TestRunner { public static void main(String[] args) { Result result = JUnitCore.runClasses(JunitTestExample.class); for (Failure failure : result.getFailures()) { System.out.println(failure.toString()); } System.out.println("Result=="+result.wasSuccessful()); } }
Salida:
Imprimir declaración en la consola:
Junit Hola El mensaje se está imprimiendo
Hola!Guru99
El mensaje de Junit se está imprimiendo
Guru99
Ignorar un método de prueba usando la anotación @Ignore
Creemos una prueba de ignorar para deshabilitar una prueba en el ejemplo anterior. Para esto, debe usar @Ignore en el método que desea omitir.
hagámoslo para la pruebaJUnitMensaje() de JunitTestExample.java
Ejemplo de prueba Junit.java
package guru99.junit; import static org.junit.Assert.assertEquals; import org.junit.Ignore; import org.junit.Test; public class JunitTestExample { public String message = "Guru99"; JUnitMessage junitMessage = new JUnitMessage(message); @Ignore @Test public void testJUnitMessage() { System.out.println("Junit Message is printing "); assertEquals(message, junitMessage.printMessage()); } @Test public void testJUnitHiMessage() { message="Hi!" +message; System.out.println("Junit Hi Message is printing "); assertEquals(message, junitMessage.printHiMessage()); } }
Salida:
Ejecutemos y verifiquemos el resultado del ejemplo anterior.
El siguiente resultado muestra que una prueba se omitió (deshabilitó), consulte lo que se marca a continuación:
Imprimir declaración en la consola:
Junit Hola El mensaje se está imprimiendo
Hola!Guru99
Usando la anotación @ ignorar con condición
Tomemos el ejemplo de cómo ignorar una prueba y definamos el motivo para ignorarla junto con ella. Como se analizó anteriormente, para proporcionar un motivo, tiene un parámetro opcional en la anotación @Ignore donde puede proporcionar la declaración del motivo.
Ejemplo de prueba Junit.java
package guru99.junit; import static org.junit.Assert.assertEquals; import org.junit.Ignore; import org.junit.Test; public class JunitTestExample { public String message = "Guru99"; JUnitMessage junitMessage = new JUnitMessage(message); @Ignore("not yet ready , Please ignore.") @Test public void testJUnitMessage() { System.out.println("Junit Message is printing "); assertEquals(message, junitMessage.printMessage()); } @Test public void testJUnitHiMessage() { message="Hi!" +message; System.out.println("Junit Hi Message is printing "); assertEquals(message, junitMessage.printHiMessage()); } }
Salida:
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 comprender cómo ignorar todas las pruebas:
package guru99.junit; import static org.junit.Assert.assertEquals; import org.junit.Ignore; import org.junit.Test; @Ignore public class JunitTestExample { public String message = "Guru99"; JUnitMessage junitMessage = new JUnitMessage(message); @Test public void testJUnitMessage() { System.out.println("Junit Message is printing "); assertEquals(message, junitMessage.printMessage()); } @Test public void testJUnitHiMessage() { message="Hi!" +message; System.out.println("Junit Hi Message is printing "); assertEquals(message, junitMessage.printHiMessage()); } }
salida:
Imprimir declaración en la consola:
Como ambas pruebas omitieron el uso de @Ignore en el nivel de clase, no se imprimirá ninguna declaración en la consola.
Resum
En este tutorial, aprendió cómo ignorar una sola prueba, un grupo de pruebas o todas las pruebas usando la anotación @Ignore.
@Ignorar La anotación se puede utilizar en dos escenarios como se indica a continuación:
- Si desea ignorar un método de prueba, utilice @Ignore junto con la anotación @Test.
- Si desea ignorar todas las pruebas de clase, utilice la anotación @Ignore a nivel de clase.
También aprendió a proporcionar una declaración para que otros desarrolladores comprendan por qué una prueba en particular está deshabilitada.