Mockito.验证方法参数是否为特定类 [英] Mockito. Verify method param to be a particular class

查看:299
本文介绍了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 ofparameter`. 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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆