【问题标题】:What does 'SRPy' stand for in the Mockito DocumentationMockito 文档中的“SRPy”代表什么
【发布时间】:2013-06-08 02:35:53
【问题描述】:

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

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

【问题讨论】:

标签: java android oop mockito


【解决方案1】:

根据 Mockito 文档for Spy

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

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

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

【讨论】:

  • 嗯,这是一个原则,不是设计模式,但是是的。
  • 有什么区别?
  • 我猜它与 Python 无关,所以为什么不直接称它为 SRP。 'y' 是怎么回事?
  • 在英语中把一个词变成副词是不标准的方式,比如“dirt -> dirty”。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-11-25
  • 2018-07-30
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多