2012-04-18 4 views
1

웹 서비스 API에 어댑터를 쓰고 있습니다. 어댑터는 웹 서비스와 파일을 동기화합니다. 한 가지 테스트하고 싶은 점은 어댑터가 동기화되는 동안 하나의 동기화가 실패하면 다음 동기화에서 올바른 파일을 모두 선택할 수 있다는 것입니다.테스트 실패를 시뮬레이트하는 방법

제 질문은 어떻게 실제 웹 서비스와 상호 작용하는 동안 오류를 시뮬레이트 할 수 있습니까? 예를 들어, 웹 서비스 API가 포함되어있는 경우 :

class WebService { 
    List<String> getFileNamesToSync() { 
     ...... 
    } 

    File getFile(String name) throws SomeException { 
     <talks to the web service API>; 
    } 
} 

그리고 내 어댑터 클래스 :

class MyAdapter { 
    void MyFunction() { 
     List<String> names = webService.getFileNamesToSync(); 
     for(String n : names) { 
      File file = webService.getFile(n); 
      ....... 
     } 
    } 
} 

내가 대해서 getFile 세 번째 호출이 예외와 함께 실패해야하는 방법을 시뮬레이션 할 수 있습니까?

모의를 통해이를 수행 할 수 있다고 생각하지만 getFile에 대한 나머지 호출이 웹 서비스의 실제 데이터를 반환하기를 원합니다. 이것이 내가 모의를 사용하여 얻을 수있는 것입니까? 아니면 내 자신의 모의 수업을 작성해야합니까?

+0

이 작업을 수행 할 수도 있습니다. – Adrian

+0

이것은 아마도 당신이 찾고있는 것이 아니지만 카운터를 사용하고 counter == 3 인 경우 Exception을 던져서 for 루프에서 수동으로 예외를 던질 수 있습니다 (예 :). – jahroy

+0

FileNotFoundException을 얻기 위해 존재하지 않는 파일과 같은 실패 생성을 강제 실행하라는 잘못된 요청을 보낼 수 있습니까? – twain249

답변

1

Mockito를 사용하는 경우 호출 카운터를 유지하고 대부분의 호출에서 실제 클래스를 호출하는 클래스를 만들 수 있지만 카운터가 사용자의 마법 번호에 도달하면 예외가 발생합니다.

관련 문제