我有一个用例,我必须测试调用内部方法的实际方法。必须嘲笑这种内在方法。例如,
Class Sample {
boolean method(Foo foo) {
return innerMethod(new Goo(foo));
}
}
所以我想做以下事情。
Sample sample = Mockito.spy(new Sample());
Foo foo = new Foo();
doReturn(false).when(sample).innerMethod(new Goo(foo));
assertEquals(false, sample.method(foo));
问题是,我想,内部方法永远不会被模拟,因为参数Goo
不是同一个对象。我该如何解决这个问题?
答案 0 :(得分:4)
使用Matcher.any()
方法。
doReturn(false).when(sample).innerMethod(Matcher.any(Goo.class));