Sobes.tech
Senior
55

Cosa succede se in un test con Mockito si si dimentica di mockare un metodo e viene chiamato nel test?

Le aziende dove è stato chiesto
Альфа КапиталАльфа Капитал

Risposta dell'AI

sobes.tech AI

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

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

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

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