mockito
Moquant des appels consécutifs à une méthode de retour vide
Recherche…
Introduction
Les documents Mockito sont un excellent exemple de la façon de fournir une séquence de réponses pour plusieurs appels à un simulacre. Cependant, ils ne couvrent pas la manière de procéder pour une méthode qui renvoie un void, sauf pour ce qui est de noter que les méthodes voûtées de stubing nécessitent l'utilisation de la famille de méthodes do .
Remarques
Rappelez-vous, pour les méthodes non-vides, la version when(mock.method()).thenThrow().thenReturn()
(voir docs ) est préférable car elle est plus sûre et plus lisible.
Truquer une erreur transitoire
Imaginez que vous testez du code qui appelle cette interface et que vous souhaitez vous assurer que votre code de nouvelle tentative fonctionne.
public interface DataStore { void save(Data data) throws IOException; }
Vous pourriez faire quelque chose comme ça:
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
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow