I have below class

```
class PowerMockitoTest{

  private void TestPrivateMethod(){
    System.out.println("Inside private method");
  }

  public void TestPublicMethod(){
    System.out.println("Inside public method");
    TestPrivateMethod();
  }
}

```

I have created Test class as below

```
@RunWith(PowerMockRunner.class)
public class PowerMockitoExampleTest {

@Test
public void test() throws Exception {

 PowerMockitoTest testclass = PowerMockito.spy(new PowerMockitoTest());
 PowerMockito.doNothing().when(testclass,"TestPrivateMethod");
 testclass.TestPublicMethod();

}

```

}

Instead of getting OP as 'Inside public method' I am getting very strange OP as 'Inside private method'. Though i have stubbed private method to do nothing its getting called as well as sysout for public method is not getting printed.

Its working fine when i used `PowerMockito.doAnswer()` but it requires method to be at package level instead of private.