수색…


소개

Mockito 문서 에는 여러 모의 호출에 대한 일련의 응답을 제공하는 방법에 대한 훌륭한 예가 있습니다. 그러나 그들은 void 메소드가 do 메소드를 사용해야한다는 점을 지적하는 것 외에는 void를 반환하는 메소드에 대해이를 수행하는 방법을 다루지 않습니다.

비고

void가 아닌 메소드의 경우, when(mock.method()).thenThrow().thenReturn() 버전 ( docs 참조)은 type-safe 인수로 읽을 수 있기 때문에 선호됩니다.

일시적인 오류가 발생했습니다.

이 인터페이스를 호출하는 코드를 테스트하고 있다고 가정하고 재시도 코드가 작동하는지 확인하려고한다고 가정 해보십시오.

public interface DataStore {
    void save(Data data) throws IOException;
}

다음과 같이 할 수 있습니다.

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
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow