2015-01-30 2 views

ответ

0

Как правило, это делается для того, чтобы установить макет/шпион в методе @Before, чтобы для каждого теста поведение было одинаковым, но счет всегда сбрасывается. Если вам нужно сбросить счетчик средних значений, я предлагаю вам создать метод настройки необходимого вам поведения. Вызовите reset, затем вызовите метод настройки поведения.

Еще один способ сделать это МОЖЕТ быть использовать Answer, чтобы захватить вызовы метода, а затем сбросить Answer.

private List<InvocationOnMock> invocationList = new ArrayList<>(); 



when(spy.someMethod(anyString())).thenAnswer(new Answer() { 
    Object answer(InvocationOnMock invocation) { 
     invocationList.add(invocation); 
     return null; // Or whatever you need to return 
    } 
}); 

// instead of reset 
invocationList.clear(); 
+0

Можете ли вы привести пример * Другой способ * – gstackoverflow

+0

ответ обновляется в соответствии с просьбой –

+0

@gstackoverflow следует позаботиться о том при редактировании ответа. Действительно ли была необходимость в «финале»? Получает ли это ответ лучше каким-то значительным образом? Или вы просто отредактировали его только для того, чтобы что-то отредактировать? Возможно ли, что конечным результатом будет создание нового списка вместо очистки существующего списка? –