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