Я пытаюсь выполнить модульное тестирование кода, который имеет дело с ведением журнала сообщений, что приводит к большой зависимости от среды. Этот Message Logger — это платформа, используемая всеми разработчиками в разных командах. Я использовал PowerMock для того же, поскольку класс Logging является статическим классом.
Несмотря на то, что тест Junit Unit запускает Green после использования Power Mock, он по-прежнему пытается загрузить файл server.xml.
Вызовы класса следующие
Вызовы класса модульного теста -> вызовы класса статического регистратора -> класс статической среды.
Этот статический класс среды занимается загрузкой и анализом файла server.xml.
Я также пробовал следующее, но даже тогда его tring загружает файл xml:
@RunWith(PowerMockRunner.class)
@PrepareForTest({Logger.class,EnvFunctions.class})
PowerMockito.mockStatic(Logger.class);
PowerMockito.mockStatic(EnvFunctions.class);
Нужно ли мне выполнить дополнительную работу, чтобы он больше не пытался загрузить этот файл?
Я пытаюсь издеваться над статическим классом void и также пытался использовать doNothing и подавлять. но не получается
doNothing.when(Logger.class);
suppress(everythingDeclaredIn(Logger.class));