2015-08-25 2 views
0

Как вызвать метод, используя супер ключевое слово в Mockito? Код приведен ниже в сниппет:Чтобы вызвать метод, используя супер в mockito

@Override 
protected void doExecute() 
{ 
    //only show port context menu in edit mode 
    ICommandContext commandContext = getCommandContext(); 
    if(commandContext instanceof ContextMenuCommandContext) 
    { 
     ContextMenuCommandContext contextMenuContext = (ContextMenuCommandContext) commandContext; 
     if(!contextMenuContext.getRelationsContext().isAuthoringMode()) 
     { 
      return; 
     } 
    } 

    super.doExecute(); 
} 

ответ

0

Пожалуйста, попробуйте это, Рассмотрим производный имя класса,

class BaseClass { 
    public void doExecute() {...} 
} 

public ChildClass extends BaseClass { 

    @override 
     public void doExecute(){ 
     //some codes  
     super.doExecute(); 
    } 
} 

Я предполагаю, что ваш код что-то вроде этого,

@Test 
public void testdoExecute() { 
    DerivedClassName cn= Mockito.cn(new DerivedClassName()); 

    // Prevent/stub logic in super.doExecute(); 
    Mockito.doNothing().when((BaseClassName)cn).doExecute(); 

    // When 
    cn.doExecute(); 

    // Then 
    verify(cn).load(); 
} 
+0

что имя класса здесь? и u также не упоминает о методе сохранения. –

+0

рассмотрите имя своего класса, в котором присутствует ваш метод. как вы не разместили в вопросе – VedX

+0

в вышеуказанном методе cn - неопределенная переменная для Mockito.cn (новое DerivedClassName()) –

Смежные вопросы