什么' SRPy'代表Mockito文档

时间:2013-06-12 04:38:06

标签: java android oop mockito

来自http://docs.mockito.googlecode.com/hg/org/mockito/Mockito.html

  

像往常一样,您将阅读部分模拟警告:面向对象编程通过将复杂性划分为单独的特定SRPy对象来减少复杂性。部分模拟如何适应这种范式?好吧,它只是没有...部分模拟通常意味着复杂性已被移动到同一对象上的不同方法。在大多数情况下,这不是您想要设计应用程序的方式。

1 个答案:

答案 0 :(得分:10)

根据Mockito文件for Spy

  

对真实物体进行间谍活动通常与“部分嘲弄”概念有关。然而,Mockito间谍不是部分嘲笑。 Mockito间谍意味着帮助测试其他类 - 而不是间谍本身。因此,如果您打算验证方法是否在同一对象上调用其他方法,那么间谍将无济于事。在这种情况下,我建议使用OO / SRPy(例如,您可能会提取新的类/接口......)

OO指的是面向对象的,SRP指的是单一责任原则。这是一种设计模式,表明该类应该只有一个责任,在这种情况下,您倾向于编写不需要测试内部方法的代码。

http://en.wikipedia.org/wiki/Single_responsibility_principle