21 Unit Testing mit JUnit

21.1 Grundlagen

JUnit ist ein Framework, das häufig für Unit-Tests in Java verwendet wird. Es bietet Annotationen wie @Test, um Testmethoden zu deklarieren.

21.1.1 Einfacher Test mit JUnit

import static org.junit.Assert.assertEquals;
import org.junit.Test;

public class MyTests {

    @Test
    public void addition() {
        assertEquals(2, 1 + 1);
    }
}

21.2 Test Setup und Tear Down

Mit den Annotationen @Before und @After können Methoden definiert werden, die vor bzw. nach jedem Test ausgeführt werden.

import org.junit.Before;
import org.junit.After;

public class MyTests {
    
    @Before
    public void setUp() {
        // Setup-Code
    }

    @After
    public void tearDown() {
        // Aufräum-Code
    }
}

21.3 Test Suites

Test-Suites ermöglichen die Gruppierung mehrerer Testklassen.

import org.junit.runner.RunWith;
import org.junit.runners.Suite;

@RunWith(Suite.class)
@Suite.SuiteClasses({
    TestClass1.class,
    TestClass2.class
})
public class AllTests {
}

21.4 Testen von Ausnahmen

Mit JUnit können auch erwartete Ausnahmen getestet werden.

import static org.junit.Assert.assertThrows;

@Test
public void testException() {
    assertThrows(MyException.class, () -> {
        // Code, der die Ausnahme auslöst
    });
}

JUnit ist ein weit verbreitetes Framework für Unit-Tests in Java. Es bietet eine Reihe von Annotationen und Methoden, um das Verhalten von Code zu überprüfen. Die Möglichkeit, Setup- und Tear-Down-Code auszuführen, sowie Test-Suites zu definieren, macht es zu einem leistungsfähigen Werkzeug für die Qualitätssicherung im Entwicklungsprozess.