java override powermock super stub

java - PowerMock: métodos de código auxiliar de la clase padre



override super (3)

El elenco que estás intentando no va a funcionar como esperas. Sin embargo, creo que tienes un par de opciones para solucionar esto, ciertamente con PowerMockito.

Echa un vistazo a esta respuesta StackOverflow .

Estoy usando PowerMock y me gustaría saber cómo mantener todo el comportamiento de la clase infantil, pero apago super llamadas que pueden ser anuladas por el niño.

Digamos que tengo esta clase:

public class A { public String someMethod() { return "I don''t want to see this value"; } }

y una subclase:

public class B extends A { @Override public String someMethod() { return super.someMethod() + ", but I want to see this one"; } }

¿Cómo super.someMethod() la llamada a super.someMethod() ?

He intentado

@Test public void test() { B spy = PowerMockito.spy(new B()); PowerMockito.doReturn("value").when((A)spy).someMethod(); assertEquals("value, but I want to see this one", spi.someMethod()); }


No olvide agregar @PrepareForTest({ParentClassToSupress.class}) en su clase de prueba. Luego puede hacer lo que Steve sugiere y suprimir los métodos en el padre: PowerMockito.suppress(methodsDeclaredIn(ParentClassToSupress.class));