@Konstantin1706

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

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

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

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

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

Войти через центр авторизации
Похожие вопросы
Bell Integrator Ульяновск
До 400 000 ₽
Bell Integrator Хабаровск
До 400 000 ₽
Bell Integrator Ижевск
До 400 000 ₽