JUnit Prueba de excepción esperada: @Test (esperada)

JUnit Proporciona la posibilidad de rastrear la excepción y también de verificar si el código está generando la excepción esperada o no.

Junit4 proporciona una forma fácil y legible para realizar pruebas de excepciones, puede utilizar

  • Parámetro opcional (esperado) de la anotación @test y
  • Para rastrear la información se puede utilizar "fail()"

Aunque Pruebas excepción, debe asegurarse de que la clase de excepción que está proporcionando en ese parámetro opcional de @nota de prueba es el mismo. Esto se debe a que espera una excepción del método que está Examen de la unidad, de lo contrario nuestro JUnit la prueba fallaría.

Ejemplo@Prueba(esperado=IllegalArgumentException.clase)

Al utilizar el parámetro "esperado", puede especificar el nombre de excepción que nuestra prueba puede generar. En el ejemplo anterior, estás usando "Argumento de excepción ilegal" que será arrojado por la prueba si un desarrollador usa un argumento que no está permitido.

Ejemplo usando @test(esperado)

Entendamos las pruebas de excepciones creando un Java Clase con un método que genera una excepción. La manejarás y la probarás en una clase de prueba. Considera JUnitMessage.java tiene un método que simplemente realiza una operación matemática basada en la entrada recibida por el usuario. Si se ingresa algún argumento ilegal, se generará "ArithmeticException". Vea abajo:

Ejemplo usando @Test

package guru99.junit;

public class JUnitMessage{

	private String message;

	public JUnitMessage(String message) {
		this.message = message;
	}

public void printMessage(){

	System.out.println(message); 
	int divide=1/0;

}

public String printHiMessage(){ 

	message="Hi!" + message;
	
	System.out.println(message);

	return message;
}

}

Explicación del código:

  • Línea de código 7: Creando un constructor parametrizado con inicialización de campo.
  • Línea de código 11-14: Creando un método para la operación matemática.
  • Línea de código 18: Creando otro método para imprimir un mensaje.
  • Línea de código 20: Creando una nueva cadena para imprimir un mensaje.
  • Línea de código 21: Imprimiendo nuevo mensaje creado en la línea 20.

Creemos una clase de prueba para la clase Java anterior para verificar la excepción.

Vea a continuación la clase de prueba para probar la unidad de excepción (ArithmeticException aquí) lanzada desde la clase Java anterior:

AirthematicTest.java

Prueba Airthematic.Java

package guru99.junit;

import static org.junit.Assert.assertEquals;

import org.junit.Test;

public class AirthematicTest {

	public String message = "Saurabh";
	
	JUnitMessage junitMessage = new JUnitMessage(message);
	
	@Test(expected = ArithmeticException.class)
	public void testJUnitMessage(){

		System.out.println("Junit Message is printing ");
		junitMessage.printMessage();

	}

	@Test
	public void testJUnitHiMessage(){ 
		message="Hi!" + message;
		System.out.println("Junit Message is printing ");
		assertEquals(message, junitMessage.printMessage());
	
	}
}

Explicación del código:

  • Línea de código 13: Usando la anotación @Test para crear nuestra prueba. A medida que ejecute el método de clases anterior, invocará una operación matemática. Aquí se espera una excepción aritmética, por lo que la incluye como parámetro en @Test.
  • Línea de código 17: Invocar printMessage() JUnitMensaje.java
  • Línea de código 18: Creando otro método para imprimir mensajes HI.

Si ejecuta esta clase de prueba, el método de prueba se ejecuta con cada parámetro definido. En el ejemplo anterior, el método de prueba se ejecuta cinco veces.

Ejecutémoslo y verifiquemos el resultado. Vea a continuación la clase del corredor de prueba para ejecutar Ejemplo de prueba Junit.java

Salida:

Aquí está el resultado que muestra una prueba exitosa sin rastro de falla como se indica a continuación:

Prueba Airthematic.Java Salida

Resumen

  • Las pruebas de excepción son una característica especial introducida en JUnit4. En este tutorial, ha aprendido cómo probar la excepción en JUnit usando @test (excepto)
  • Junit proporciona la posibilidad de rastrear la excepción y también de verificar si el código está generando una excepción o no.
  • Para pruebas de excepción, puede utilizar
    • Parámetro opcional (esperado) de la anotación @test y
    • Para rastrear la información se puede utilizar "fail()"