Easymock不兼容的返回值类型错误

KWJ*_*104 4 java junit unit-testing easymock

我正在尝试为这段特殊代码创建一个EasyMock,这样innerfValue的类型为IJavaValue,它是IJavaObject的子类.我试过通过模拟innerfValue然后只是假设aJavaValue指向innerfValue并模拟sendmessage方法就好像它是一个innerfValue的方法一样来处理这个问题的常规方法,但是它还没有工作,当我到达当我这样做时,它给了我一个不兼容的返回值类型(在这种情况下,symbolvalue是我在模拟innerfValue对象上调用sendmessage方法后返回的模拟对象,而不是另一段代码中的symbolValue. ):

EasyMock.expect(((IJavaObject)symbolValue).toString()).andReturn("aValue");
Run Code Online (Sandbox Code Playgroud)

这是一段代码

IJavaObject aJavaValue = (IJavaObject)innerfValue.getValue();
IJavaObject symbolValue = (IJavaObject) ((IJavaObject)aJavaValue).sendMessage(
    "toString", "()Ljava/lang/String;", null, thread, false);
value = symbolValue.toString();
Run Code Online (Sandbox Code Playgroud)

KWJ*_*104 7

EasyMock无法模拟toString()方法.这就是我遇到这个问题的原因.