单元测试 – 模拟与间谍在嘲笑框架

在嘲笑框架中,你可以嘲笑一个对象或间谍。两者之间有什么区别和什么时候/我应该使用一个在另一个?例如,看看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.

当有疑问,使用嘲笑。

相关文章

迭代器模式(Iterator)迭代器模式(Iterator)[Cursor]意图...
高性能IO模型浅析服务器端编程经常需要构造高性能的IO模型,...
策略模式(Strategy)策略模式(Strategy)[Policy]意图:定...
访问者模式(Visitor)访问者模式(Visitor)意图:表示一个...
命令模式(Command)命令模式(Command)[Action/Transactio...
生成器模式(Builder)生成器模式(Builder)意图:将一个对...