Я думаю, что есть основная проблема с вашей настройкой теста:
Вы не используете verify
, чтобы проверить, вызывает ли одна функция другую функцию в том же классе.Verify
используется для проверки того, что проверенный класс вызывает функцию для других ( mocked ) классов.Если я не ошибаюсь, ваша установка должна выдать сообщение об ошибке, в котором говорится, что вы не можете использовать verify
в экземплярах классов.
Что делать, если вы хотите проверить, выдаёт ли onCompleteClicked()
правильный результат - проверить, правильно ли установлены данные, которые изменяются внутри функции onStuffComplete()
.Для этого вы можете использовать assert
.
В качестве примера, скажем, onStuffCompleted()
устанавливает completeCounter
в 1
@Test
public void onCompleteClicked() {
presenter.onStuffCompleteClicked();
assertEquals(completCounter , 1);
}
И чтобы ответить на ваш первоначальный вопрос: verify
(и assert
) пройдут, если будут выполнены требования (и при этом пройдёт весь тест), и провалится, если нет.Вам не нужно добавлять какие-либо дополнительные элементы (но еще раз: verify
будет работать только с насмешливыми классами).