2014-11-18 7 views
3

다음 시나리오에서 jmockit을 사용하는 동안 문제가 있습니다. 웹에서 조사를했으나 아직 답변을 찾을 수 없습니다.Jmockit에서 개인 메소드를 조롱하는 동안 'any'매개 변수 유형을 일치시키는 방법

기록 단계에서 부분적으로 조롱 된 개체에 대한 기대치를 설정하고 있습니다. 그것을하는 동안, 나는 단일 매개 변수를 사용하여 개인 메서드를 조롱하고 싶습니다. 하지만 그 매개 변수 값에 대해서는별로 관심이 없습니다. 그 특정 개인 메소드의 모든 호출을 전달 된 인수의 인스턴스와 일 치시키고 자합니다. Jmockit에서 어떻게합니까? 방법이 있습니까? Deencapsulation.invoke(...) 방법은 null 값을 허용하지 않기 때문에 위의 코드에서

new Expectations(student) { 
    { 
     Deencapsulation.invoke(student, "setDepartment", (Department) any); 
     result = new Delegate<Student>() { 
      public void setDepartment(Department dept) { 
       System.out.println("Mocked setDepartment() methodd....."); 
      } 
     }; 
    } 
}; 

(Department) any는 통과 할 수 없습니다.

답변

5

참고 any 필드의 API documentation는 말한다 :

액세스 할 수없는 방법이나 생성자 (예를 들어, Deencapsulation.invoke (객체, 문자열, 객체 ...)와 함께), withAny를 (사용에 대한 호출에서

" T) 대신. "

invoke(...) 호출에 withAny(Department.class)을 사용해야합니다.