Heim > Java > javaLernprogramm > Wie kann ich Ausnahmen in JUnit-Tests effizient geltend machen?

Wie kann ich Ausnahmen in JUnit-Tests effizient geltend machen?

DDD
Freigeben: 2024-12-26 22:49:10
Original
137 Leute haben es durchsucht

How Can I Efficiently Assert Exceptions in JUnit Tests?

Ausnahmen in JUnit-Tests geltend machen

Traditionell umfasste das Testen auf Ausnahmen in JUnit ausführliche Try-Catch-Blöcke, wie im bereitgestellten Code veranschaulicht. Es gibt jedoch mehrere Alternativen, die diesen Prozess rationalisieren.

JUnit 5 und 4.13

Seit JUnit 4.13 kann die Annotation @Test(expected = IndexOutOfBoundsException.class) verwendet werden um zu behaupten, dass während der Ausführung der mit Anmerkungen versehenen Methode eine bestimmte Ausnahme ausgelöst wird. Zum Beispiel:

@Test(expected = IndexOutOfBoundsException.class)
public void testIndexOutOfBoundsException() {

    ArrayList emptyList = new ArrayList();
    Object o = emptyList.get(0);

}
Nach dem Login kopieren

AssertJ und Google Truth

AssertJ und Google Truth sind beliebte Behauptungsbibliotheken, die besser lesbare und aussagekräftigere Behauptungen bereitstellen, einschließlich solcher zum Testen von Ausnahmen. Zum Beispiel mit AssertJ:

import static org.assertj.core.api.Assertions.assertThatThrownBy;

@Test
public void testIndexOfBoundsException() {

    ArrayList emptyList = new ArrayList();
    assertThatThrownBy(() -> emptyList.get(0)).isInstanceOf(IndexOutOfBoundsException.class);

}
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie kann ich Ausnahmen in JUnit-Tests effizient geltend machen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage