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
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());
}
}