10

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

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

4

1 回答 1

12

根据Spy的 Mockito 文档,

监视真实对象通常与“部分模拟”概念相关联。然而,Mockito 间谍不是部分模拟。Mockito spy 旨在帮助测试其他类 - 而不是 spy 本身。因此,如果您打算验证方法是否在同一对象上调用其他方法,则 spy 将无济于事。在这种情况下,我建议成为 OO/SRPy(例如,您可能会提取新的类/接口......)

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

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

于 2013-06-17T19:23:30.840 回答