2012-08-03 20 views

Respuesta

28

Mockito 1.9.0 introdujo oyentes y ahora reúne un registrador detallado:

Así que, básicamente, si quieres registros simples y estúpidas, simplemente haga lo siguiente:

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

Ver http://docs.mockito.googlecode.com/hg/latest/org/mockito/MockSettings.html#verboseLogging() para obtener más información

Saludos,

+1

¿Se puede establecer verboseLogging con @Mock campos anotados? –

+3

@DanielBrotherston no, pero puede inicializar el campo con 'ficticio (type, withSettings(). VerboseLogging())' regular. Será recogido por 'InjectMocks' – Brice

7

Brice respuesta es el camino a seguir, pero otra opción es:

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

Que simplemente imprime las interacciones que ocurrieron antes de ese punto con la opción dada. no es lo suficientemente robusta, pero hace el truco y podría ser útil para algunos casos (por ejemplo, cuando se utiliza anotaciones simulacros)

Por ejemplo, esto debería funcionar de acuerdo con MockitoSettings

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

Aunque en 1.9.5 no lo hace parece espiar cualquier cosa, solo burlarse de ella.

+0

Me gusta más tu respuesta: proporciona más detalles, y el depurador realmente me ayudó. – smirnoff

Cuestiones relacionadas