文档中的这段代码让我完全困惑:
List list = new LinkedList();
List spy = spy(list);
when(spy.size()).thenReturn(100); // <--- how does this spy know
// not to call the real method????
//using the spy calls *real* methods
spy.add("one");
spy.add("two");
我明白了,Mockito 很奇怪,而且几乎不在 Java 中。令人困惑的事情是spy.*
在它知道它是否被包裹在一个when()
或什么东西之前必须完全评估。第spy.*
一种方法到底怎么会不调用真实对象,但后来的方法呢?