mockito
Spottende aufeinanderfolgende Aufrufe einer Methode zur Rückgabe von Fehlern
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