gordonad / powermock

Automatically exported from code.google.com/p/powermock
0 stars 0 forks source link

createPartialMock should support private constructors with no arguments #37

Closed GoogleCodeExporter closed 8 years ago

GoogleCodeExporter commented 8 years ago
E.g. MyClass myClassMock = PowerMock.createPartialMock(MyClass.class, new
String[]{"loadMyClassDLL"}, null); 

For ctor:
    private MyClass() {
        this.initialized = false;
        this.connectedDUTs = new HashSet<Byte>();
    }

Generates the following error: 
java.lang.NullPointerException
        at org.powermock.Whitebox.getArgumentsAsString(Whitebox.java:526)
        at
org.powermock.Whitebox.throwExceptionIfConstructorWasNotFound(Whitebox.java:512)
        at
org.powermock.Whitebox.findConstructorOrThrowException(Whitebox.java:499)
        at org.powermock.PowerMock.createPartialMock(PowerMock.java:636)
        at
se.ericsson.eab.sdk.jMyClasswrapper.MyClassTest.connectToDUTFail(MyClassTest.jav
a:358)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at

Original issue reported on code.google.com by johan.ha...@gmail.com on 24 Oct 2008 at 12:56

GoogleCodeExporter commented 8 years ago
Added PowerMock API method "createPartialMockAndInvokeDefaultConstructor" that
invokes a default constructor after mock creation (even if it's private).

Original comment by johan.ha...@gmail.com on 26 Oct 2008 at 8:00