I want to mock an inherited protected method. I can\'t call this method directly from java code as it is inherited from class that in another package. I can\'t find a way to
Nutshell: Can't always use when to stub spies; use doReturn.
Assuming static imports of spy and doReturn (both PowerMockito):
@RunWith(PowerMockRunner.class)
@PrepareForTest(B.class)
public class BTest {
@Test public void testClass() throws Exception {
B b = spy(new B());
doReturn(42).when(b, "m");
b.asd();
}
}
You could also @PrepareForTest(A.class) and set up the doReturn on when(a, "m"). Which makes more sense depends on the actual test.