2012-05-01 2 views
0

EasyMock을 사용하여 void 메소드에 대한 기대치를 설정할 때 메소드의 인수 중 하나로서 Object 배열을 지정할 수 있습니까? 우리가 이런 일이있는 경우 예를 들어EasyMock void 메소드와 객체 배열을 인수로 사용합니까?

는 :

Errors mockErrors = createMock(Errors.class); 
... 
mockErrors.rejectValue(Object[]{"5", "2"}); 
mockErrors.replay(); 

classUnderTest.someMethod(); 

는 이에 할려고 ClassUnderTest 내 것으로 someMethod는 rejectValue (객체 [] { "5", "2"})를 호출;

그러나 정확히 무엇이 호출되고 있는지에 대한 기대에도 불구하고 쉬운 모의는 예기치 않은 메서드 호출에 대해 불평합니다.

>  Unexpected method call rejectValue(["5", "2"]): 
>   rejectValue(["5", "2"]): expected: 1, actual: 0 

나는 후드가에 의존있어하는 개체 []에 방법과 동일하고, 두 개의 서로 다른만큼 false를 반환하고 조건을 만족하지 않기 때문에이 있다고 가정한다.

주위에 경로가 있습니까? expect()를 사용하여 기대치를 설정하지 않으므로 any()를 사용할 수 있습니다 ... void 메서드에서 같은 작업을 수행하는 방법이 있습니까?

답변

6
mockErrors.rejectValue(aryEq(new Object[] {"5", "2"})); 

자세한 내용은 the javadoc을 참조하십시오.

+0

javadoc 링크가 이동되었습니다. http://easymock.org/api/org/easymock/EasyMock.html의'aryEq'에 대한 메소드 선언을 모두보십시오. – nsane

관련 문제