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

Tabla de contenido:

Anonim

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

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

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

Mientras prueba la excepción, debe asegurarse de que la clase de excepción que está proporcionando en ese parámetro opcional de la anotación @test sea ​​la misma. Esto se debe a que espera una excepción del método en el que está realizando pruebas unitarias; de lo contrario, nuestra prueba JUnit fallaría.

Ejemplo @ Prueba (esperado = IllegalArgumentException.class)

Al usar el parámetro "esperado", puede especificar el nombre de excepción que puede arrojar nuestra prueba. En el ejemplo anterior, estás usando " IllegalArgumentException" que será lanzada por la prueba si un desarrollador usa un argumento que no está permitido.

Ejemplo usando @test (esperado)

Comprendamos las pruebas de excepción creando una clase Java con un método que lanza una excepción. Lo manejará y lo probará en una clase de prueba. Considere que JUnitMessage.java tiene un método que simplemente realiza una operación matemática basada en la entrada recibida por el usuario. Si se ingresara algún argumento ilegal, arrojará "ArithmeticException " . Vea abajo:

paquete guru99.junit;public class JUnitMessage {mensaje de cadena privada;public JUnitMessage (mensaje de cadena) {this.message = mensaje;}public void printMessage () {System.out.println (mensaje);int divide = 1/0;}public String printHiMessage () {message = "¡Hola!" + mensaje;System.out.println (mensaje);mensaje de retorno;}}

Explicación del código:

  • Línea de código 7: Creación de un constructor parametrizado con inicialización de campo.
  • Línea de código 11-14: Creación de un método para operaciones matemáticas.
  • Línea de código 18: Creación de otro método para imprimir un mensaje.
  • Línea de código 20: Creación de una nueva cadena para imprimir un mensaje.
  • Línea de código 21: Imprimiendo el 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 a la excepción de prueba unitaria (ArithmeticException aquí) lanzando desde la clase java anterior:

AirthematicTest.java

paquete guru99.junit;importar org.junit.Assert.assertEquals estático;import org.junit.Test;public class AirthematicTest {mensaje de cadena pública = "Saurabh";JUnitMessage junitMessage = new JUnitMessage (mensaje);@Test (esperado = ArithmeticException.class)public void testJUnitMessage () {System.out.println ("El mensaje de Junit se está imprimiendo");junitMessage.printMessage ();}@Pruebapublic void testJUnitHiMessage () {message = "¡Hola!" + mensaje;System.out.println ("El mensaje de Junit se está imprimiendo");assertEquals (mensaje, junitMessage.printMessage ());}}

Explicación del código:

  • Línea de código 13: Uso de la anotación @Test para crear nuestra prueba. A medida que ejecuta el método de clases anterior, invocará una operación matemática. Aquí se espera una excepción aritmética, por lo que lo incluirá como un parámetro en @Test.
  • Línea de código 17: invocación de printMessage () JUnitMessage.java
  • Línea de código 18: Creación de otro método para imprimir el mensaje 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 de corredor de prueba para ejecutar JunitTestExample.java

Producción:

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

Resumen:

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