哪一个是Java的最佳隔离框架?JMock、Easymock、Mockito还是其他?

哪一个是Java的最佳隔离框架?JMock、Easymock、Mockito还是其他?,java,unit-testing,mocking,stub,isolation-frameworks,Java,Unit Testing,Mocking,Stub,Isolation Frameworks,我知道以前有人问过这个问题,但最后一次是在2008年年中 如果你现在开始一个新项目,你会使用哪一个?为什么?他们在可读性、可用性、可维护性和整体健壮性方面的优势/劣势是什么?我已经使用EasyMock一段时间了。继续添加新功能,让您能够接触到更多难以到达的地方 Mockito将为最常见的测试用例保存一些代码行 您能否详细说明您的模拟能力需求/优先级?如前所述,相当广泛。我之前使用过Easymock,但现在使用的是Mockito。我发现Mockito比Easymock更简单。有关Easymock和

我知道以前有人问过这个问题,但最后一次是在2008年年中


如果你现在开始一个新项目,你会使用哪一个?为什么?他们在可读性、可用性、可维护性和整体健壮性方面的优势/劣势是什么?

我已经使用EasyMock一段时间了。继续添加新功能,让您能够接触到更多难以到达的地方

Mockito将为最常见的测试用例保存一些代码行


您能否详细说明您的模拟能力需求/优先级?如前所述,相当广泛。

我之前使用过Easymock,但现在使用的是Mockito。我发现Mockito比Easymock更简单。有关Easymock和Mockito的详细比较,您可以参考

我(有偏见)的答案是。有关与其他模拟工具包的快速比较,请参阅


使用它编写的测试代码应该更具可读性和更好的结构(有用于并行比较的示例测试)。与其他模拟API相比,JMockit模拟API通常需要更少的“使用”来编写相同的测试。IMO最大的优点是,它不会对要测试的代码强制进行任何设计妥协。另一方面,由于JMockit依赖于更先进的技术和更强大的功能,它也有更大的潜力让用户遇到意想不到的困难。

为了解释我们的动机,jMock是一个“固执己见”的库。它旨在指导一种面向对象设计方法,该方法侧重于协作对象之间的协议。如果您不这样看待您的系统,那么它可能不是您的最佳选择。

您能问一个具体的问题吗?我正在为一个新项目选择一个工具,希望它具有相当普通的用途。Mockito做不到EasyMock做的任何事情?那么Mockito可能会为您节省一些时间,并在您的测试用例中产生更好的可读性。Mockito看起来肯定比EasyMock更可读。这是单元测试的一个重要标准。