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:

  1. Si desea ignorar un método de prueba, utilice @Ignore junto con la anotación @Test.
  2. 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:

  1. Crear una clase de prueba simple sin ignorar una prueba.
  2. Ignore un método de prueba utilizando la anotación @Ignore.
  3. Ignore un método de prueba utilizando la anotación @Ignore con el motivo adecuado.
  4. 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:

Crear una clase de prueba simple sin ignorar una prueba

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:

Crear una clase de prueba simple sin ignorar una prueba

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:

Ignorar métodos de prueba usando la anotación @Ignore

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:

  1. Si desea ignorar un método de prueba, utilice @Ignore junto con la anotación @Test.
  2. 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.

Leer más Lee mas