在嘲笑框架中,你可以嘲笑一个对象或间谍。两者之间有什么区别和什么时候/我应该使用一个在另一个?例如,看看mockito,我看到类似的事情使用间谍和嘲笑,但我不确定两者之间的区别。
Mock对象完全替换mocked类,返回记录或默认值。你可以创建模拟出“稀薄的空气”。这是在单元测试期间最常使用的。
当侦察时,你采取一个现有的对象和“替换”只有一些方法。这是有用的,当你有一个巨大的类,只想模拟某些方法(部分嘲笑)。让我引用Mockito documentation:
You can create spies of real objects. When you use the spy then the real methods are called (unless a method was stubbed).
Real spies should be used carefully and occasionally,for example when dealing with legacy code.
当有疑问,使用嘲笑。