Mocking статические методы, использующие PowerMock объясняется here, например.
Но, пожалуйста, имейте в виду: когда вы говорите о своем собственном производственном коде, то это только второе лучшее решение! Потому что: статические звонок на самом деле дизайн проблема.
Да, статические методы удобны, но они также приводят к прямой/плотной связи вашего кода. И, конечно же, они ломают обычное единичное тестирование с помощью EasyMock или Mockito ...
Итак, альтернативный ответ: не используйте PowerMock. Вместо этого сделайте шаг назад и удалите статические зависимости от вашего кода. Например, создавая интерфейс, который обозначает требуемую функциональность; а затем вместо того, чтобы делать этот статический вызов внутри вашего кода, вы используете зависимую инъекцию для приобретения некоторого объекта, реализующего этот интерфейс.
И вдруг вам больше не нужен PowerMock.
Заключительное слово предупреждения: многие люди используют PowerMock без особых проблем. Но когда вы проводите некоторое исследование, вы также найдете множество людей, имеющих всевозможные странные проблемы с PowerMock. Таким образом, не просто выберите этот инструмент, потому что он кажется более удобным. Поймите, что совершенствует ваш дизайн полностью убивает необходимость использования этого инструмента!
EDIT:
Дело в том, вы не должны никогда делать вещи, потому что кто-то говорит, что «сделать это так». В идеале вы узнаете о плюсах и минусах различных подходов, а затем вы решаете, каким путем обратиться; в зависимости от этого анализа. Конечно, статический был доступен на Java с самого первого дня; таким образом, есть много людей, демонстрирующих хорошие варианты использования.
Но это не меняет недостатки, о которых я упомянул (прямая, плотная связь). Дело в том, что я полностью остановил с использованием статики - способами, которые препятствуют единичному тестированию. И я никогда не сожалел об этом.
И вы видите, есть люди, которые утверждают, что статического мешает вам от создания проверяемого кода - (! Смотреть эти видео стоят каждой минуты), как here. Не похоже, чтобы я придумал эту идею.
Проблема заключается в том, что моделируется как статический заводский метод, как описано в эффективной java. https://books.google.com/books?id=ka2VUBqHiWkC&lpg=PA5&pg=PA5#v=onepage&q&f=false – user46743
См. мой обновленный ответ. – GhostCat
Согласовано. выбор статического метода для этого неинтересного класса - это решение времени разработки, которое сейчас сложно изменить. Обратившись к этой проблеме, я посмотрел на статью о дзоне, в то время как она затрагивает множество частей для решения этой головоломки. Мне все еще сложно провести работу над моим примером выше, и было бы очень полезно, если бы тестовый код для проблемы выше. – user46743