Могу ли я издеваться над конструктором суперкласса с помощью Mockito / Powermock?
Возможно ли использовать Mockito и опционально Powermock, чтобы издеваться над суперклассом?S
так что любые вызовы суперклассаS
(включая звонки наS()
конструктор) издеваются? Таким образом, используя приведенный ниже пример, если я заменюS
с участиемMockS
с помощью Mockito, вызовsuper()
использовать конструктор вMockS
?
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.
}
Я видел вопросы о насмешке отдельных методов вS
или издеваться только звонкиsuper()
и прочитайте, что это не поддерживается, но не ясно, могу ли я высмеивать весь суперкласс.
С моими текущими тестами, когда я пытаюсь издеватьсяS
, T
призыв кsuper()
называет реальную реализацию, а не макет.