web-dev-qa-db-ja.com

Mockitoデバッグメッセージを有効にするにはどうすればよいですか?

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

31
Derek Mahar

Mockito 1.9.0ではリスナーが導入され、詳細なロガーがバンドルされています。

したがって、基本的に、単純で愚かなログが必要な場合は、次のようにします。

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

詳細については、 http://docs.mockito.googlecode.com/hg/latest/org/mockito/MockSettings.html#verboseLogging ()を参照してください。

乾杯、

38
Brice

ブライスの答えは行く方法ですが、別のオプションは次のとおりです。

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

これは、そのポイントの前に発生したインタラクションを指定されたオプションに出力するだけです。十分に堅牢ではありませんが、トリックを実行し、場合によっては役立つ可能性があります(つまり、モックアノテーションを使用する場合)

たとえば、これは MockitoSettings に従って機能するはずです。

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

1.9.5では何もスパイしていないようですが、それをあざけるだけです。

11
estani