我有一个方法:
public V doSomething(T t, Class<V> classV){}
如何使用模拟对象调用此方法并验证它?
我正在尝试这样:
when(mockObject.doSomething(any(MyConcreteT.class), AnotherConcrete.class).
thenReturn(obj);
verify(mockObject).doSomething(any(MyConcreteT.class), AnotherConcrete.class);
但收到错误
InvalidUseOfMatchersException: Invalid use of argument matchers!
感谢任何(帮助)
最佳答案
据我所知,Mockito 要求所有参数都是非匹配器或所有参数都是匹配器。它不允许混合它们。 (不过,详细的错误消息应该会告诉您这一点。)
尝试:
when(mySpy.doSomething(any(MyConcreteT.class), eq(AnotherConcrete.class)).
thenReturn(obj);
verify(mySpy).doSomething(any(MyConcreteT.class), eq(AnotherConcrete.class));
关于java - 如何使用参数 T 模拟和验证方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26927117/