Sobes.tech
Senior
48

Que se passe-t-il si dans un test avec Mockito, on oublie de mocker une méthode et qu'elle est appelée dans le test?

Entreprises à qui on a demandé
Альфа КапиталАльфа Капитал

Réponse de l'IA

sobes.tech IA

Если в тесте с Mockito забыть замокать метод, и этот метод вызывается во время выполнения теста, то поведение зависит от типа мока:

  • Для обычных моков (созданных через mock()) вызов незамоканного метода вернёт значение по умолчанию: null для объектов, 0 для чисел, false для boolean.
  • Для спаев (созданных через spy()) вызов метода по умолчанию выполнит реальную реализацию, если метод не был замокан.

Это может привести к неожиданным результатам в тесте: например, если метод возвращает null, а код не ожидает этого, может возникнуть NullPointerException. Или если метод вызывает внешние зависимости, тест может стать нестабильным.

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