Java Mockito- 如何模拟不确定参数数量的方法

6

我尝试使用Mockito来模拟Java中的getDeclaredMethod()方法,但是该方法的参数是不确定的。如何模拟这样的方法?

public Method getDeclaredMethod(String name, Class... parameterTypes) throws NoSuchMethodException, SecurityException {
    throw new RuntimeException("Stub!");
}
1个回答

4

使用ArgumentMatchers.any()

匹配任何东西,包括null和可变参数。

示例

when(mockedObject.getDeclaredMethod(anyString(),any())).thenReturn("element");

针对您的情况

when(mockedObject.getDeclaredMethod(anyString(), (Class<?>)any())).thenReturn("element");

还有一个anyVararg(),但已于2.1.0版本中被弃用。


是的,谢谢。正确答案是 when(mockClass.getDeclaredMethod(anyString(), (Class<?>) any()) - Jesse

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接