Опитвам се да тествам единичен код, който се занимава с регистриране на съобщения, което води до голяма зависимост от околната среда. Този Message Logger е рамка, използвана от всички разработчици в екипи. Използвал съм PowerMock за същото, тъй като класът Logging е статичен клас.
Въпреки че тестът на Junit Unit работи в зелено след използване на Power Mock, той все още се опитва да зареди файла server.xml.
Обажданията на класа са както следва
Unit Test Class calls -> Static Logger Class calls-> Static Environment Class.
Този статичен клас на среда се занимава със зареждането и анализирането на файла server.xml.
Опитах и следното, но дори и тогава се опитва да зареди 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));