Java的最佳模拟框架是什么?[已关闭]
2022-08-31 04:51:32
在Java中创建模拟对象的最佳框架是什么?为什么?每个框架的优缺点是什么?
在Java中创建模拟对象的最佳框架是什么?为什么?每个框架的优缺点是什么?
我在使用Mockito方面取得了很好的成功。
当我尝试学习JMock和EasyMock时,我发现学习曲线有点陡峭(尽管也许这只是我)。
我喜欢Mockito,因为它的语法简单明了,我能够很快掌握。最小语法旨在很好地支持常见情况,尽管我需要做一些更复杂的事情的几次,我发现我想要的东西得到了支持并且易于掌握。
以下是Mockito主页上的一个(删节)示例:
import static org.mockito.Mockito.*;
List mockedList = mock(List.class);
mockedList.clear();
verify(mockedList).clear();
没有比这更简单的了。
我能想到的唯一主要缺点是它不会嘲笑静态方法。
我是PowerMock的创造者,所以显然我必须推荐它!:-)
PowerMock扩展了EasyMock和Mockito,能够模拟静态方法,最终甚至私有方法。EasyMock支持已经完成,但Mockito插件需要更多的工作。我们还计划添加 JMock 支持。
PowerMock并不是为了取代其他框架,而是可以在其他框架不允许嘲笑的棘手情况下使用。PowerMock 还包含其他有用的功能,例如抑制静态初始值设定项和构造函数。