Suche…


Einführung

Die Mockito-Dokumente bieten ein hervorragendes Beispiel dafür, wie Sie eine Folge von Antworten für mehrere Aufrufe eines Mock angeben können. Sie behandeln jedoch nicht, wie dies für eine Methode, die Void zurückgibt, erledigt wird, abgesehen davon, dass für das Stubbing Void-Methoden die do-Familie von Methoden erforderlich ist.

Bemerkungen

Denken Sie daran, dass für nicht-void-Methoden die when(mock.method()).thenThrow().thenReturn() (siehe docs ) bevorzugt wird, da sie Argumenttypsicher und lesbarer ist.

Vorübergehender Fehler

Stellen Sie sich vor, Sie testen Code, mit dem diese Schnittstelle aufgerufen wird, und Sie möchten sicherstellen, dass Ihr Wiederholungscode funktioniert.

public interface DataStore {
    void save(Data data) throws IOException;
}

Sie könnten so etwas tun:

public void saveChanges_Retries_WhenDataStoreCallFails() {
    DataStore dataStore = new DataStore();
    Data data = new Data();
    doThrow(IOException.class).doNothing().when(dataStore).save(data);

    dataStore.save(data);

    verify(dataStore, times(2)).save(data);
    verifyDataWasSaved();
}


Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow