mockito.spy
时间: 2023-08-27 15:04:46 浏览: 227
Mockito.spy() 是一个用于创建一个对象的Spy的Mockito方法。Spy是一个特殊的Mock对象,它可以部分地模拟真实对象,并且可以记录和验证方法的调用。与普通的Mock对象不同,Spy对象可以保留真实对象的部分行为,只有在需要时才会模拟特定的行为。
使用Mockito.spy()方法,您可以将一个真实的对象包装成一个Spy对象。下面是一个示例:
```java
List<String> list = new ArrayList<>();
List<String> spyList = Mockito.spy(list);
// 对Spy对象的部分行为进行模拟
Mockito.when(spyList.size()).thenReturn(10);
// 调用真实对象的方法
spyList.add("Hello");
spyList.add("World");
// 验证Spy对象的方法调用
Mockito.verify(spyList).add("Hello");
Mockito.verify(spyList).add("World");
```
在上面的示例中,我们将一个ArrayList对象包装成了一个Spy对象。然后,我们使用`when()`方法模拟了`size()`方法的返回值为10。接下来,我们调用了真实对象的`add()`方法,并且验证了这两个方法的调用。
需要注意的是,Spy对象会保留真实对象的部分行为。未被模拟的方法调用将会调用真实对象的对应方法,并返回真实的结果。因此,在使用Spy对象时要小心处理未被模拟的方法,以避免产生意外的行为。
希望这个回答能够帮助到您!如果您有任何其他问题,请随时提问。
阅读全文