我有一个使用服务器的私有静态终结的Logger。我想抑制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));
问题:引发toomanyMethodsException
===========
Logger nullLogger= null;
LoggingClass lc= new LoggingClass(); //This is the class that uses the logger
Whitebox.setInternalState(lc, "LOGGER",nullLogger);
问题:引发Whitebox无法找到实例字段LOGGER。
任何协助都会被哄骗
答案 0 :(得分:0)
尝试以下
suppress(everythingDeclaredIn(LoggerFactory.class));
导入语句
import static org.powermock.api.support.membermodification.MemberMatcher.everythingDeclaredIn;
import static org.powermock.api.support.membermodification.MemberModifier.suppress;