我想使用Mockito从其他库中模拟一个类。我读到Mockito依赖于equals方法的特定实现(我认为是CGLIB)。不幸的是,这个外部类具有用final修饰符表示的equals(),并且其主体中存在抛出异常。
当我尝试模拟此类时,总是会从此方法获取异常。 CGLIB显然不能通过final来实现,而是调用了真正的方法。
有任何想法吗?我该怎么做,以使用Mockito模拟此类?也许其他图书馆会处理吗?
[编辑]快速说明:我不想模拟equals(),我检查其他方法。问题是,mockito内部使用equals(),我不知道该做什么。由于equals()是最终的,因此将实际方法调用并引发异常。我希望mockito中有一些设置“不要使用equals()” :-)
感谢您的回答,我明天将仔细阅读它们。
最佳答案
此矩阵显示了不同框架支持的功能:
到矩阵here的外部链接。
据此,只有PowerMock和JMockit可以模拟最终方法。