LoslegenKostenlos loslegen

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

Kurs anzeigen

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 RuntimeException ist.
  • 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());
    }
}
Code bearbeiten und ausführen