2013-10-29 112 views
1

我有一个对象,我嘲笑单元测试时使用powermock。抛出一个模拟对象抛出ClassCastException

ClassA mockedClassA = PowerMock.createMock(ClassA.class); 

后来在我的代码中,我使用该对象的演员。生活如下。

String hello = ((ClassB)classA).someMethod(); 

Junit测试在thie地方抛出以下异常。

java.lang.ClassCastException: $Proxy15 incompatible with ClassB 

看起来像铸造嘲笑的对象是不可能的。那么我怎么能通过这个?

我试过跟着thigs。 Easymock.expect((ClassB)mockedClassA.somemethod())...;

不起作用。

回答

2

您的代码希望classA是一个ClassB对象,但它不是(除非ClassA扩展了ClassB,但不需要转换)。你有没有试过

ClassA mockedClassA = PowerMock.createMock(ClassB.class) 
相关问题