在模拟框架中进行模拟与间谍活动

维文·帕利亚斯

模拟框架中,您可以模拟对象或对其进行监视两者之间有什么区别?何时/应该何时使用另一种?

综观的Mockito,例如,我看到使用被做过类似的事情间谍嘲笑,但我不能确定两者之间的区别。

托马斯·努尔基维奇(Tomasz Nurkiewicz)

模拟对象完全替换模拟类,返回记录的或默认值。您可以凭空创建模拟。这是单元测试中最常用的东西。

监视时,您将使用现有对象并仅“替换”某些方法。当您有一个庞大的类并且只想模拟某些方法(部分模拟)时,这很有用。让我引用Mockito文档

您可以创建真实对象的间谍。当您使用间谍时,将调用真实的方法(除非对某个方法进行了打桩)。

真正的间谍应该小心谨慎地使用,例如在处理遗留代码时。

如有疑问,请使用模拟。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章