在我的Junit中,我尝试使用PrivilegedAccessor
执行一个方法如下,但获取NoSuchMethodException: Invalid Method getInsurance
-
PrivilegedAccessor.invokeMethod(InsuranceRetriever,
"getInsurance", new Object[] { code}, new Class[] {
Long.class});
以下是经过测试的方法声明。
private InsObj getInsurance(long code)
*请注意,我传递的是Long.class,而真正的参数是原始的。如何传递原始参数。
答案 0 :(得分:3)
试试这个:
PrivilegedAccessor.invokeMethod(InsuranceRetriever,
"getInsurance", new Object[] { code },
new Class[] { Long.TYPE });
说明:
基本类型的类对象可以在每个基本类型的每个java.lang对象的TYPE静态最终常量下找到。 Boolean.TYPE
,Integer.TYPE
,Byte.TYPE
,Short.TYPE
,Long.TYPE
等。