JMockit有什么缺点吗?
2022-09-03 04:54:35
这种比较表明,JMockit比其他框架有几个优点。
其他一个(JMock,EasyMock,Mockito,Unitils,PowerMock + Mockito/EasyMock)是否也比JMockit具有任何优势?
这种比较表明,JMockit比其他框架有几个优点。
其他一个(JMock,EasyMock,Mockito,Unitils,PowerMock + Mockito/EasyMock)是否也比JMockit具有任何优势?
我最近采用了一个使用JMockit的项目,我认为由于库模拟静态和私有方法的能力,代码的质量肯定受到了影响。
测试非常脆弱,因为私有方法中包含的实现细节正在测试中(因此,如果我改变类执行某些操作的方式,即使类的作用不受影响,它也会破坏测试)。
代码中还充斥着对静态方法的调用 - 如果开发人员没有能力模拟这些方法,那么我认为他们会做出更多的努力来更好地消除耦合。
三大缺点:
你总是可以讨论,如果能够像JMockit那样模拟最终的课程是一件好事。除非是遗留代码,否则重构通常是更好的选择。
对于像Eclipse这样的IDE,我发现自己使用工具支持在测试类内生成存根的频率比最近的模拟(JMockit,Mockito等)更频繁。这种方法的优点是它非常简单。当你的团队中有很多开发人员,其中一些人不喜欢测试,也没有动力去学习一个模拟框架时,这尤其好。此外,存根实现没有框架限制!
如果你愿意接受存根作为替代方案,你应该看看Robert C. Martin关于嘲笑和存根的博客 这里 和 这里
否则,它看起来非常好!虽然我只有JMock,EasyMock的经验和JMockit的基本知识。