mockito
Derivando le chiamate consecutive a un metodo di restituzione vuoto
Ricerca…
introduzione
I documenti Mockito hanno un eccellente esempio di come fornire una sequenza di risposte per più chiamate a una simulazione. Tuttavia, non trattano come farlo per un metodo che restituisce vuoto, oltre a notare che i metodi di annullamento dello stub richiedono l'uso della famiglia di metodi do .
Osservazioni
Ricorda, per i metodi non void, la versione when(mock.method()).thenThrow().thenReturn() (vedi documenti ) è preferibile perché è argomento type-safe e più leggibile.
Falso errore transitorio
Immagina di testare il codice che effettua una chiamata a questa interfaccia e di assicurarti che il tuo tentativo di codice funzioni.
public interface DataStore {
void save(Data data) throws IOException;
}
Potresti fare qualcosa del genere:
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
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow