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));

問題 : toomanyMethodsException がスローされる

===========

 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 に答える