2012-08-03 30 views
20

Mockitoデバッグメッセージを有効にするにはどうすればよいですか?特に、when()でスタブされたメソッドの詳細とそれらのメソッドとのすべてのやりとりを印刷したいと思います。詳細については、Mockitoデバッグメッセージを有効にするにはどうすればよいですか?

List mockWithLogger = mock(List.class, withSettings().verboseLogging()); 

は(http://docs.mockito.googlecode.com/hg/latest/org/mockito/MockSettings.html#verboseLoggingを参照してください):だから、基本的には単純で愚かなログが必要な場合は、単に次の操作を行い

答えて

28

Mockito 1.9.0導入リスナーと今は冗長ロガーをバンドル

乾杯、

+1

@Mock注釈付きフィールドでverboseLoggingを設定することはできますか? –

+3

@DanielBrotherstonではなく、通常の 'mock(type、withSettings()。verboseLogging())でフィールドを初期化することができます。 'InjectMocks'によってピックアップされます – Brice

7

ブライスの答えは移動するための方法ですが、別のオプションは次のとおりです。

new org.mockito.internal.debugging.MockitoDebuggerImpl().printInvocations(mockedObject); 

これは、指定されたオプションの前に起こったインタラクションを表示するだけです。 (モックアノテーションを使用する場合IE)1.9.5でませんが、これはMockitoSettings

spiedObject = mock(ToMock.class, withSettings().spiedInstance(toMockInstance).verboseLogging()) 

に応じて動作するはずです例えば

十分に堅牢ではありませんが、トリックを行い、いくつかのケースのために有用であるかもしれません何かをスパイしているように見えますが、ただそれを嘲笑しています。

+0

私はあなたの答えが気に入っています - それはもっと詳細を与え、デバッガが本当に私を助けました。 – smirnoff

関連する問題