最近我转而使用Mockito框架并对此非常满意(另请参阅blog-post)。从EasyMock到Mockito的转换非常简单,我设法使测试兼容(即测试用例表现相同)。
你是否看到真正的理由或枪战标准更喜欢EasyMock而不是Mockito?到目前为止我使用的代码库不能,但我对你的观点感兴趣。
答案 0 :(得分:22)
开发Mockito是为了进行BDD式单元测试,即:
而不是
恕我直言,它会产生更多可读性测试,并允许您分离您正在运行的上下文(设置Mocks)和验证您感兴趣的行为等内容。以前的模拟框架需要您设置对每次互动的期望,无论它是否与您在该测试中看到的行为方面相关。
答案 1 :(得分:7)
我对EasyMock比Mockito更熟悉,所以我不得不做一点挖掘。 Mockito有一个page,从Mockito的角度做了明确的比较。
正如我所看到的,Mockito的优点是:
EasyMock具有非常相似的功能集。 Mockito的核心差异化基于EasyMock的那些领域,Mockito团队认为这些领域是局限性或次优实践。
从功能的角度来看,这两种产品都不能模拟静态方法(我需要在没有MBeanServer的情况下进行测试),但在这种情况下,您可以在任一框架之上使用PowerMock。
我会说适合您的测试要求的风格。
希望这有帮助!
答案 2 :(得分:6)
Mockito现在可能比我上次尝试时更好,但是当它改变它的API与以前的版本不兼容时它失去了我。升级到最新版本将要求我更改我现有的许多单元测试,我发现这是不可接受的。我认为这对我的需求来说太不成熟和不稳定了。
但这并不意味着它有任何问题。我使用的版本仍然可以正常工作,虽然我已经切换回EasyMock。
答案 3 :(得分:1)
这是一个新闻报道。
Mockito的案例: http://code.google.com/p/mockito/wiki/MockitoVSEasyMock
EasyMock案例: http://blog.octo.com/en/easymock-facts-fallacies/