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);

しかし、java.lang.reflection.Method が final であるため、EasyMock の実行時エラーが発生します。

于 2013-08-31T07:52:10.473 に答える