Mockito 文档中的“SRPy”代表啥
Posted
技术标签:
【中文标题】Mockito 文档中的“SRPy”代表啥【英文标题】: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 对象来减少复杂性。部分模拟如何适应这种范式?好吧,它只是没有......部分模拟通常意味着复杂性已转移到同一对象上的不同方法。在大多数情况下,这不是您设计应用程序的方式。
【问题讨论】:
en.wikipedia.org/wiki/Single_responsibility_principle 我以为是这样,但我被'y'抛出了。我猜他们会像“ish”或“-like”一样使用它? 【参考方案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”。以上是关于Mockito 文档中的“SRPy”代表啥的主要内容,如果未能解决你的问题,请参考以下文章
Mockito单元测试保姆级实战(一个java Mock测试框架)