Testing with Mockito - Satttoshi/github-wiki-generator GitHub Wiki
Mockito ist ein Open-Source-Testing-Framework für Java, mit dem Entwickler Mock-Objekte erstellen und Tests schreiben können. Mock-Objekte sind Platzhalterobjekte, die das Verhalten von tatsächlichen Objekten imitiert, um Tests ohne externe Abhängigkeiten ausführen zu können. Sie sind besonders für die Erstellung von automatisierten Unit-Tests nützlich, da sie den Testprozess vereinfachen und beschleunigen können.
public class MyClass {
    public String getValue() {
        return "Hello World!";
    }
}
public class MyTestClass {
    @Test
    public void testMyClass() {
        MyClass mockObject = mock(MyClass.class);
        when(mockObject.getValue()).thenReturn("This is a mock object.");
        String result = mockObject.getValue();
        assertEquals("This is a mock object.", result);
    }
}In diesem Beispiel erstellt das Mockito-Framework ein Mock-Objekt der Klasse MyClass. Mit der when().thenReturn()-Methode wird das Verhalten des Mock-Objekts definiert, wobei der Rückgabewert der getValue()-Methode "This is a mock object." ist.
Die verify()-Methode wird verwendet, um sicherzustellen, dass bestimmte Methoden auf einem Mock-Objekt aufgerufen wurden.
public class MyClass {
    public void setValue(String value) {}
}
public class MyTestClass {
    @Test
    public void testMyClass() {
        MyClass mockObject = mock(MyClass.class);
        mockObject.setValue("Hello World!");
        verify(mockObject).setValue("Hello World!");
    }
}In diesem Beispiel wird überprüft, ob die setValue()-Methode auf dem Mock-Objekt mit dem Argument "Hello World!" aufgerufen wurde.
Mockito ist ein leistungsfähiges Framework, das Entwicklern die Erstellung von Mock-Objekten für Tests erleichtert. Mit Mockito können Entwickler sicherstellen, dass ihr Code das erwartete Verhalten zeigt, ohne externe Abhängigkeiten zu nutzen. Durch Mock-Objekte und stark modularisierten Code in Form von abhängigkeitsinjizierten Objekten kann Testen in Java effizienter und leichter in der Handhabung werden.