mockito
Wyśmiewanie kolejnych wywołań metody void return
Szukaj…
Wprowadzenie
Dokumenty Mockito mają doskonały przykład, jak zapewnić sekwencję odpowiedzi dla wielu połączeń z próbą. Nie obejmują one jednak tego, jak to zrobić dla metody, która zwraca void, poza zauważeniem, że metody stub void wymagają użycia rodziny metod do .
Uwagi
Pamiętaj, że dla nie-pustych sposobów, when(mock.method()).thenThrow().thenReturn()
wersja (patrz docs ) jest korzystny, ponieważ jest argumentem typu bezpieczny i bardziej czytelny.
Udawanie błędu przejściowego
Wyobraź sobie, że testujesz kod wywołujący ten interfejs i chcesz się upewnić, że kod ponownej próby działa.
public interface DataStore { void save(Data data) throws IOException; }
Możesz zrobić coś takiego:
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
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow