我在一个类中有一个具有以下定义的函数,例如Stack-
public <K, T> T nameOfFunction(final String string1, final K usebByFunction, final Class<T> returnType)
我使用了以下Mockito呼叫-
Mockito.when(instanceOfStack.nameOfFunction((String) any(), - , - ).thenThrow(CallFailedException.class))
我能够使用(String)any()模拟String参数,但无法模拟其他两个参数-K和Class。我需要模拟此调用以引发CallFailedException。
答案 0 :(得分:0)
Mockito.any()不适用于您的情况下的Class类型。如果在您的条件下指定Mockito.any(Class.class),应该没问题。
public class TestClass
{
public class MyClass
{
public <K, T> T test(String s, K obj, final Class<T> clazz)
{
return null;
}
}
@Test
public void test()
{
MyClass myClass = Mockito.mock(MyClass.class);
Mockito.when(myClass.test(Mockito.anyString(), Mockito.any(), Mockito.any(Class.class))).thenThrow(new IllegalArgumentException());
myClass.test(null, null, null);
}
}