Sobes.tech
Senior
44

Co się stanie, jeśli w teście z Mockito zapomni się zamockować metody i zostanie ona wywołana w teście?

Firmy, w których zadano pytania
Альфа КапиталАльфа Капитал

Odpowiedź od AI

sobes.tech AI

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

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

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

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