Вопрос по mockito, junit, verify – Как проверить, что метод вызывается два раза с помощью mockito verify ()

237

Я хочу проверить, если метод вызывается дважды или более чем один раз через проверку mockito. Я использовал проверить, и он жалуется, как это:

org.mockito.exceptions.verification.TooManyActualInvocations: 
Wanted 1 time:
But was 2 times. Undesired invocation:

Ваш Ответ

1   ответ
404

import static org.mockito.Mockito.atLeast;
import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify;

verify(mockObject, atLeast(2)).someMethod("was called at least twice");
verify(mockObject, times(3)).someMethod("was called exactly three times");
Есть ли другой способ записи раз (1)? Glenn Bech
import static org.mockito.Mockito.times;, Как правило, импорт пакетов с "внутренний» в них (import static org.mockito.internal.verification.VerificationModeFactory.times;) не рекомендуется. Roger
@ Роджер Я согласен с вами, для начинающего специалиста по TDD, такого как я, статический импорт заставляет меня запутаться в запоминании методов или используемой платформы (Mockito, Espresso или просто обычный модульный тест). Think Twice Code Once
@GlennBechВы можете просто пропустить это, Это'неявный; по умолчаниюverify(mockObject).someMethod("") ищет ровно 1 взаимодействие (не больше, не меньше). Если вместо этого вы хотитехотя бы один Вызов метода, вы можете использоватьatLeastOnce() спецификатор. nbrooks
Вы также можете использоватьMockito.times(...) вместоVerificationModeFactory.times(...) для статического импорта Wim Deblauwe

Похожие вопросы