जैसा कि शीर्षक में उल्लेख किया गया है, मैं उस वर्ग का परीक्षण करने के लिए 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] के साथ कंस्ट्रक्टर को देखने में विफल

1
user3050101 19 अक्टूबर 2018, 10:56

1 उत्तर

सबसे बढ़िया उत्तर
Class clazz = Whitebox.getInnerClassType(SomeClass.class, "InnerClass");
Constructor constructor = Whitebox.getConstructor(clazz, SomeClass.class);
InnerClassType innerClass = (InnerClassType) constructor.newInstance(new 
SomeClass());

चूंकि मेरी आंतरिक कक्षा स्थिर नहीं थी, इसलिए इसे बाहरी वर्ग के संदर्भ की आवश्यकता थी।

1
user3050101 19 अक्टूबर 2018, 08:15