JavaMockito:如何在不模拟所有参数的情况下轻松地存根一个方法
我有一个方法,我想存根,但它有很多参数。 如何避免模拟所有参数,但仍然存根该方法
例:
//Method to stub
public void myMethod(Bar bar, Foo foo, FooBar fooBar, BarFoo barFoo, .....endless list of parameters..);
你可以在下面搜索框中键入要查询的问题!
我有一个方法,我想存根,但它有很多参数。 如何避免模拟所有参数,但仍然存根该方法
例:
//Method to stub
public void myMethod(Bar bar, Foo foo, FooBar fooBar, BarFoo barFoo, .....endless list of parameters..);
# 1 楼答案
使用mockito。任何
例如,如果myobj mymethod接受string、string、bar
中断通话
为了证实史蒂文已经给出了答案
# 2 楼答案
创建一个包装类,该类调用real方法并填充除您提供的参数之外的所有参数(也称为“委托”)
在下一次机会中,针对要求将参数移动到配置对象的项目提交一个bug
# 3 楼答案
我不太明白你在使用Mockito时遇到了什么问题。假设您创建了包含
myMethod()
方法的接口的模拟,那么您可以只验证您感兴趣的方法的参数。例如(假设接口名为MyInterface
,并使用JUnit4):您需要对Mockito方法进行静态导入,才能使其正常工作。
any()
匹配器不关心验证时传递了什么值您无法避免为方法中的每个参数传递某些内容(即使它仅为NULL)