reflection - PowerMockito - Whitebox 使用 int [] 参数获取内部类的构造函数
问题描述
正如标题所提到的,我正在使用 PowerMockito 来测试一个包含内部私有类的类。内部类有一个带有“int[]”参数的构造函数。下面是代码。
final Class clazz = Whitebox.getInnerClassType(SomeClass.class, "InnerClass");
final Constructor constructor = Whitebox.getConstructor(clazz, int[].class);
final Object innerClass = constructor.newInstance(SORT_ORDER);
//This is the TARGET INNER CLASS' CONSTRUCTOR
public InnerClass(int[] sortOrder) {
super(sortOrder);
}
代码抛出
org.powermock.reflect.exceptions.ConstructorNotFoundException:无法在类中查找具有参数类型 [[I] 的构造函数
解决方案
Class clazz = Whitebox.getInnerClassType(SomeClass.class, "InnerClass");
Constructor constructor = Whitebox.getConstructor(clazz, SomeClass.class);
InnerClassType innerClass = (InnerClassType) constructor.newInstance(new
SomeClass());
由于我的内部类不是静态的,它需要外部类的引用。
推荐阅读
- discord.py - Discord.py 反应语句不起作用
- arrays - 如何在 Octave 中获取特定的数据 drom 文本
- mysql - 无论如何,为了提高 SQL 查询的性能,以按标签匹配计数查找具有顺序的行
- android - 如何在通过无线进行 adb 调试时显示配对设备对话框
- json - 如何存储来自 json 和 CoreData 的数据?SwiftUI
- java - 如何在android studio中正确操作和验证类型编号的editText?
- python - 超过二分搜索最大深度
- c++ - 当每个类成员函数都被隐式内联时,为什么要使用显式内联
- android - 在 LinearLayout 中自动调整多个以编程方式生成的 Textview 的大小
- flutter - Flutter 渡轮自定义标量序列化器“具有非动态类型”