1

我需要用 EasyMock 测试这段代码:

if (void.class.equals(method.getReturnType)){
    //do something
}

我想模拟 method.getReturnType() 返回 void.class。我必须写什么而不是“??????” ?

import java.lang.reflect.Method;

Method method = EasyMock.createMock(Method.class);
EasyMock.expect(method.getReturnType()).andReturn(????);

我努力了:

EasyMock.expect(method.getReturnType()).andReturn(Void.class);
EasyMock.expect(method.getReturnType()).andReturn(Void);
EasyMock.expect(method.getReturnType()).andReturn(Void.TYPE);
EasyMock.expect(method.getReturnType()).andReturn(void.class);
EasyMock.expect(method.getReturnType()).andReturn(void);

但是会出现编译错误。

有任何想法吗?

PS如果问题不清楚,问我。

4

1 回答 1

0

答案是:

EasyMock.expect(method.getReturnType()).andReturn((Class) void.class);

但是有 EasyMock 运行时错误,因为 java.lang.reflection.Method 是最终的。

于 2013-08-31T07:52:10.473 回答