我在基于春天的项目工作。我的客户要求为我的服务和DAO层编写JUnit测试用例。
我必须就我将要使用的模拟框架做出决定,并将尽快传达给客户端。
我以前从未使用过任何模拟框架。我听说过一些像Mockito,JMock,EasyMock等在网上搜索的东西。但没有得到任何令人信服的答案,我应该用哪一个。
因此,我需要一些帮助选择正确的模拟框架。
发布于 2013-03-10 21:20:20
正如其他评论所述,对此没有明确的正确答案,但我肯定会建议与Mockito一起去,原因有几点:
EasyMock和https://code.google.com/p/mockito/wiki/MockitoVSEasyMock的Mockito之间有更多的不同之处。
更广泛地说,除非绝对需要,否则我将避免使用像PowerMock这样的框架。PowerMock允许您模拟代码库中的各种元素,而普通的模拟框架是不会的,但是您需要模拟这些元素的事实通常是其他一些底层设计问题的有力指示。如果您发现自己无法在不使用PowerMock的情况下进行测试,那么您应该真正考虑测试代码的结构是否可以重构为insteard (例如,摆脱对静态方法的依赖关系,更好地使用依赖项注入以避免调用构造函数等等)。
我还建议您也阅读Martin的极好的介绍来嘲弄。就所讨论的框架而言,这已经有点过时了,但它仍然为主要概念提供了一个非常好的概述,并给出了一些很好的例子。
https://stackoverflow.com/questions/12288278
复制相似问题