我需要使用 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);
但是出现编译错误。
有什么想法吗?
P.S.如果问题不清楚请问我。
最佳答案
答案是:
EasyMock.expect(method.getReturnType()).andReturn((Class) void.class);
但是存在 EasyMock 运行时错误,因为 java.lang.reflection.Method 是最终的。
关于java - 如何使用 EasyMock 使 java.lang.reflect.Method.getReturnType 返回 void.class ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18545598/