的Mockito。 validation方法参数是一个特殊的类

我有一个方法:

void putObject( param) 

有一些测试,我嘲笑这个方法,但我想知道,如何validation该方法是否使用特定类的参数调用? 试图以这样的方式做到:

 verify(foo).putObject((SomeClass)anyObject()); ------ verify(foo).putObject(any(SomeClass.class)); ------ ArgumentCaptor parameter = ArgumentCaptor .forClass(SomeClass.class); verify(foo).putObject(parametr); 

只使用any()的第二个变量,但它不t check class of参数t check class of 。 那么如果可以validation该方法是否获得特定类的任何对象?

用户匹配文档 是A()方法。

public static T isA(java.lang.Class clazz)

这将解决您的问题。

verify(foo).putObject(isA(SomeClass.class));

实际上你可以用ArgumentCaptor查看。

 ArgumentCaptor parameterCaptor = ArgumentCaptor .forClass(SomeClass.class); verify(foo).putObject(parameterCaptor.capture()); SomeClass instance = parameterCaptor.getValue(); // check intance.getX() // check instance.getY()