2017-11-02 19 views
0

나는 v1.33를 jmockit하는 jmockit의 v0.999.15에서 업그레이드하고 난제거 된 "forEachInvocation"jmockit을 다시 쓰는 방법?

request.addParam(anyString, anyString); minTimes = 1; maxTimes = 10; 
forEachInvocation = new Object() { 
    void validate(String someName, String someValue) { 
      if(Utils.XML.equals(someName)) { 
       assertTrue("incorrect value",someValue.contains("This is a test")); 
      } 
    } 
}; 

위의 코드 조각을 기대의 일부입니다 "forEachInvocation"를 사용하는 테스트를 재 작성하는 데 문제입니다. 다음 jmockit 웹 사이트에서

은 언급,하지만 난 그것을 다시 작성하는 방법을 확실하지 않다 : 그것을 대신해야 사용 버전 1.6에서 사용되지 않는 한 forEachInvocation 필드를 제거 기존 테스트 :

"버전 1.7.를 withCapture() 및 withCapture (List) 메서드를 사용하거나 처리기 개체를 결과 필드에 지정된 Delegate 개체로 변환합니다 (예상되는 경우). "

답변

0

그것은이 같은 것입니다 :

List<String> someNames = new ArrayList<>(); 
List<String> someValues = new ArrayList<>(); 
request.addParam(withCapture(someNames), withCapture(someValues));minTimes = 1;maxTimes = 10; 

for (String someName : someNames) { 
    // assert some name as/if needed 
} 

for (String someValue; someValues) { 
    // assert some values as/if needed 
}