@Konstantin1706

Как замокать static объект через Mockito?

Имеется некоторый объект, который содержит статическое поле.
В тестах проаннотировал статическое поле через Mock, а также указал следующее:
when(staticObject.getAnotherMethod()).thenReturn("test");

Причем в самих тестах объект замокался, но когда дохожу до вызова метода этого статического поля - он null.
Stackoverflow подсказывает делать данную процедуру через PowerMock, но мне это не подходит.
Как правильно его замокать, чтобы при вызове метода(getAnotherMethod) мог вернуть заведомо известное значение?
Спасибо.
  • Вопрос задан
  • 1197 просмотров
Решения вопроса 1
@AndreiLED
Короткий ответ: никак, Mockito позволяет замокать только локальные поля/методы

Длинный ответ: надо править тестируемый код, чтобы добавить в него возможность из теста заменить стандартное значение статического поля замокированным. Или конвертировать статическое поле в локальное, что является рекомендованным подходом при написании тестируемого кода.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы