Mockito - @Spy vs @Mock

新手上路,请多包涵

Mockito - 我理解间谍调用对象的真实方法,而模拟调用双重对象的方法。除非有代码气味,否则还要避免间谍。但是,间谍是如何工作的,我应该什么时候真正使用它们?它们与模拟有何不同?

原文由 Abhinav 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 707
1 个回答

从技术上讲,“模拟”和“间谍”都是一种特殊的“测试替身”。

不幸的是,Mockito 使这种区别变得奇怪。

mockito 中的模拟是其他模拟框架中的普通模拟(允许您存根调用;即,从方法调用中返回特定值)。

mockito 中的间谍是其他模拟框架中的部分模拟(部分对象将被模拟,部分将使用真实方法调用)。

原文由 Crazyjavahacking 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题