Java 使用void方法和对象数组作为参数的EasyMock期望值?

Java 使用void方法和对象数组作为参数的EasyMock期望值?,java,unit-testing,mocking,testng,easymock,Java,Unit Testing,Mocking,Testng,Easymock,使用EasyMock设置void方法的期望值时,是否可以将对象数组指定为该方法的参数之一 例如,如果我们有这样的东西: Errors mockErrors = createMock(Errors.class); ... mockErrors.rejectValue(Object[]{"5", "2"}); mockErrors.replay(); classUnderTest.someMethod(); 在ClassUnderTest中,someMethod调用rejectValue(对象[

使用EasyMock设置void方法的期望值时,是否可以将对象数组指定为该方法的参数之一

例如,如果我们有这样的东西:

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

classUnderTest.someMethod();
在ClassUnderTest中,someMethod调用rejectValue(对象[]{“5”,“2”})

然而,尽管期望值设置为所调用的确切值,easy mock仍会抱怨意外的方法调用

>     Unexpected method call rejectValue(["5", "2"]):
>         rejectValue(["5", "2"]): expected: 1, actual: 0
我认为这是因为在幕后,它依赖于对象[]上的equals方法,并且由于两者不同,它返回false并且不满足条件

有办法绕过它吗?因为我没有使用expect()设置期望值,所以我可以使用any()。。。对于void方法,是否有同样的方法

mockErrors.rejectValue(aryEq(new Object[] {"5", "2"}));
有关详细信息,请参阅


有关详细信息,请参阅

javadoc链接已被移动。查看javadoc链接上的
aryEq
的所有方法声明已被移动。有关
aryEq
的所有方法声明,请参见