我正在开发一个
Java项目,想要为DTO中的一个.equals方法编写一个单元测试.在.equals方法中,由被测对象调用的.getClass()方法.我想嘲笑这个,但我不知道它想要什么类型的对象.我试过了,
.当(mockRoomInv.getClass())thenReturn(RoomInv.class);
但确实没有做任何事情. getClass的返回类型是什么,如何操作?
解决方法
Object.getClass()是一个最终的方法,所以你不能用Mockito模拟它.
您可以模拟静态和最终的方法(如此),甚至使用Powermock的私有方法(这是一个非常酷的工具);
http://code.google.com/p/powermock/
您可以使用它与Mockito,如下所述:
http://code.google.com/p/powermock/wiki/MockitoUsage13
在那里你会发现一些有用的例子.