java - 如何使用 EasyMock 使 java.lang.reflect.Method.getReturnType 返回 void.class ?

标签 java reflection mocking easymock

我需要使用 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/

相关文章:

reflection - D 中的编译时代码生成

android - 如何在抛出的异常中模拟 Crashlytics 静态方法

java - 反射(reflection):如何调用隐藏的父类(super class)构造函数?

unit-testing - 如何使用 grails 在单元测试中模拟 springSecurityService

android - 在测试 : "Method putExtra in android.content.Intent not mocked" 中创建 Intent

Java 使用 "extends"和范围分辨率/"dot"运算符?

具有静态setter函数的java bean

java - 加密和解密字符串

java - 在正则表达式中使字符可选

java - Java中如何引用Method对象?