我有一个在单元测试时使用powermock模拟的对象。
ClassA mockedClassA = PowerMock.createMock(ClassA.class);
稍后在mycode中我正在使用该对象与演员。生活如下。
String hello = ((ClassB)classA).someMethod();
Junit测试在该地点发生异常后抛出。
java.lang.ClassCastException: $Proxy15 incompatible with ClassB
看起来像是无法投射模拟对象。那我怎么能经历这个呢?
我试过跟随你。
Easymock.expect((ClassB的)mockedClassA.somemethod())...
不起作用。
答案 0 :(得分:2)
您的代码期望classA是ClassB对象,但它不是(除非ClassA扩展ClassB,但是您不需要转换)。你试过吗
ClassA mockedClassA = PowerMock.createMock(ClassB.class)