Ausnahmen behandeln: Nachrichtenverarbeitung
So wie das Verwenden und Behandeln von Ausnahmen ein fester Bestandteil beim Programmieren ist, ist das Testen dieser Ausnahmen entscheidend für das Testen deines Projekts.
In dieser Übung übst du die Syntax von JUnits Klasseninstanz-Assertion. Du bekommst eine Methode, die einen String in Großbuchstaben umwandelt, aber eine benutzerdefinierte RuntimeException wirft, wenn der String null ist. Deine Aufgabe ist es, dafür Unit-Tests zu schreiben.
Diese Übung ist Teil des Kurses
Einführung in das Testen in Java
Anleitung zur Übung
- Überprüfe im Erfolgsfall-Test, dass die Nachricht in Großbuchstaben umgewandelt wurde.
- Verwende die passende Art von Assertion, um zu prüfen, dass die geworfene Ausnahme eine Instanz der Klasse
RuntimeExceptionist. - Gib die erwartete Klasse der Ausnahme an.
- Verwende die richtige Assertion, um die Ausnahme-Nachricht zu prüfen.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
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());
}
}