Puedo burlarme del constructor de una superclase con Mockito / Powermock?
s posible usar Mockito y opcionalmente Powermock para burlarse de una superclaseS
de modo que cualquier llamada a la superclase aS
(incluidas las llamadas a laS()
constructor) se burlan? Entonces, usando el siguiente ejemplo, si reemplazoS
conMockS
usando Mockito, la llamada asuper()
usa el constructor enMockS
?
class S {
S() {
// Format user's hard drive, call 911, and initiate self-destruct
}
}
class T extends S {
T() {
super();
}
}
class Test {
@Mock private S mockS;
new T(); // T's call to super() should call the mock, not the destructive S.
}
He visto preguntas sobre burlarse de métodos individuales enS
o burlándose solo de llamadas asuper()
, y lee que esto no es compatible, pero no está claro si puedo burlarme o no de toda la superclase.
Con mis pruebas actuales, cuando trato de burlarme deS
, T
a llamada de @ asuper()
llama a la implementación real, no a la simulación.