0

我有一个使用服务器的私有静态最终记录器。我想禁止 Logger 方法调试,或禁止与变量的任何和所有交互。我在 LoggingClass 中声明记录器

private static final Logger LOGGER = LoggerFactory.getLogger("LoggingClass");

用于调试的 javadoc 是:

public abstract void debug(String s, Object aobj[]);

在我尝试过的测试课中:

PowerMockito.suppress(PowerMockito.method(Logger.class, "debug", String.class, Object[].class));

问题:抛出太多方法异常

===========

 Logger nullLogger= null;
 LoggingClass lc= new LoggingClass(); //This is the class that uses the logger
 Whitebox.setInternalState(lc, "LOGGER",nullLogger);

问题:抛出 Whitebox 找不到实例字段 LOGGER。

任何帮助将不胜感激

4

1 回答 1

0

试试下面

suppress(everythingDeclaredIn(LoggerFactory.class));

导入语句是

import static org.powermock.api.support.membermodification.MemberMatcher.everythingDeclaredIn;
import static org.powermock.api.support.membermodification.MemberModifier.suppress;
于 2015-06-25T05:18:09.173 回答