Mockito.验证方法参数是否为特定类 [英] Mockito. Verify method param to be a particular class
本文介绍了Mockito.验证方法参数是否为特定类的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个方法:
void putObject(<T extends BaseEntity> param)
在模拟该方法的地方进行了一些测试,但是我想知道如何验证该方法是通过特定类的参数调用的?试图通过以下方式做到这一点:
Have some test where I mock this method, but I wonder, how to verify that method was called with parameter of particular class? Tried to do it in such ways:
verify(foo).putObject((SomeClass)anyObject());
------
verify(foo).putObject(any(SomeClass.class));
------
ArgumentCaptor<SomeClass> parameter = ArgumentCaptor
.forClass(SomeClass.class);
verify(foo).putObject(parametr);
仅对any()
的第二个变量起作用,但对t check class of
parameter`无效.因此,是否有可能验证该方法是否可以获取特定类的任何对象?
Works only the second variant with any()
, but it doesnt check class of
parameter`. So if it is possible to verify that method get any object of particular class?
推荐答案
用户匹配器 public static <T> T isA(java.lang.Class<T> clazz)
那将解决您的问题.
verify(foo).putObject(isA(SomeClass.class));
这篇关于Mockito.验证方法参数是否为特定类的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文