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