抑制或白盒问题

时间:2015-06-04 15:35:43

标签: mocking powermockito

我有一个使用服务器的私有静态终结的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。

任何协助都会被哄骗

1 个答案:

答案 0 :(得分:0)

尝试以下

suppress(everythingDeclaredIn(LoggerFactory.class));

导入语句

import static org.powermock.api.support.membermodification.MemberMatcher.everythingDeclaredIn;
import static org.powermock.api.support.membermodification.MemberModifier.suppress;