ComenzarEmpieza gratis

Gestión de excepciones: procesamiento de mensajes

Igual que usar y manejar excepciones es parte fundamental de programar, probar esas excepciones es clave para verificar tu proyecto.

En este ejercicio, practicarás la sintaxis de la aserción de instancia de clase de JUnit. Se te proporciona un método que convierte una cadena a mayúsculas, pero lanza una RuntimeException personalizada si la cadena es null. Tu tarea es escribir pruebas unitarias para ello.

Este ejercicio forma parte del curso

Introducción a las pruebas en Java

Ver curso

Instrucciones del ejercicio

  • Comprueba que el mensaje se ha convertido a mayúsculas en la prueba del escenario exitoso.
  • Usa el tipo de aserción correcto para verificar que la excepción lanzada es una instancia de la clase RuntimeException.
  • Introduce la clase esperada de la excepción.
  • Usa la aserción correcta para verificar el mensaje de la excepción.

Ejercicio interactivo práctico

Prueba este ejercicio y completa el código de muestra.

public class Main {
    public static void main(String[] args) {
		launchTestsAndPrint(MessageProcessorTest.class);
    }
}

class MessageProcessorTest {

    @Test
    void processMessage_returnsUppercase() {
        String message = "error!";
        String expected = "ERROR!";

        String actual = MessageProcessor.processMessage(message);
		
        // Assert the message is converted to uppercase
        ____(expected, actual);
    }

    @Test
    void processMessage_throwsException_whenMessageIsNull() {
        String message = null;
        Exception expectedException = null;

        try {
        	MessageProcessor.processMessage(message);
        } catch (Exception e) {
        	expectedException = e;
        }
        // Assert the correct type of exception
        ____(RuntimeException.class, expectedException);
        // Assert the correct exception message
        ____("Message cannot be null.", expectedException.getMessage());
    }
}
Editar y ejecutar código