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