Testen erwarteter Exceptions in JUnit

Wir können erwartete Exceptions mit der JUnit 5 assertThrows Behauptung testen. Diese JUnit-Behauptungsmethode gibt die geworfene Exception zurück, so dass wir sie auch verwenden können, um die Exception-Nachricht zu überprüfen.

JUnit Assert Exception

Hier ist ein einfaches Beispiel, das zeigt, wie man eine Exception in JUnit 5 behauptet.

String str = null;
assertThrows(NullPointerException.class, () -> str.length());

JUnit 5 Assert Exception Nachricht

Nehmen wir an, wir haben eine Klasse definiert als:

class Foo {
    void foo() throws Exception {
        throw new Exception("Exception Message");
    }
}

Lassen Sie uns sehen, wie wir die Exception sowie ihre Nachricht testen können.

Foo foo = new Foo();
Exception exception = assertThrows(Exception.class, () -> foo.foo());
assertEquals("Exception Message", exception.getMessage());

JUnit 4 Erwartete Exception

Wir können das erwartete Attribut der JUnit 4 @Test Annotation verwenden, um die erwartete Exception zu definieren, die von der Testmethode geworfen wird.

@Test(expected = Exception.class)
public void test() throws Exception {
    Foo foo = new Foo();
    foo.foo();
}

JUnit 4 Assert Exception Nachricht

Wenn wir die Exception-Nachricht testen wollen, müssen wir die ExpectedException-Regel verwenden. Unten ist ein komplettes Beispiel, das zeigt, wie man eine Exception sowie die Exception-Nachricht testet.

package com.journaldev.junit4;

import org.junit.Rule;
import org.junit.Test;
import org.junit.rules.ExpectedException;

public class JUnit4TestException {

    @Rule
    public ExpectedException thrown = ExpectedException.none();

    @Test
    public void test1() throws Exception {
        Foo foo = new Foo();
        thrown.expect(Exception.class);
        thrown.expectMessage("Exception Message");
        foo.foo();
    }
}

Das ist alles für einen schnellen Überblick über das Testen erwarteter Exceptions in JUnit 5 und JUnit 4.

Kostenlosen Account erstellen

Registrieren Sie sich jetzt und erhalten Sie Zugang zu unseren Cloud Produkten.

Das könnte Sie auch interessieren:

centron Managed Cloud Hosting in Deutschland

Java-Array: So prüfst du Werte effizient

JavaScript
Wie prüft man, ob ein Java Array einen Wert enthält? Es gibt viele Möglichkeiten, um zu überprüfen, ob ein Java Array einen bestimmten Wert enthält. Einfache Iteration mit einer for-Schleife…