2012-08-03 44 views

回答

28

1.9.0的Mockito聽衆介紹,現在捆綁了詳細的記錄:

所以,如果你想簡單的和愚蠢的日誌,只是做了以下基本:

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

更多信息請參見http://docs.mockito.googlecode.com/hg/latest/org/mockito/MockSettings.html#verboseLogging()

乾杯,

+1

可以使用@Mock註釋字段設置verboseLogging嗎? – 2016-08-18 22:33:13

+3

@DanielBrotherston nope,但您可以使用常規'mock(type,withSettings()。verboseLogging())'初始化該字段。它將被'InjectMocks'拾取 – Brice 2016-08-19 11:23:50

7

布萊斯答案是要走的路,但另一種選擇是:

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

它只是將該點之前發生的交互打印到給定的選項。不夠強勁,但做的伎倆,並可能對某些情況下非常有用(即使用模擬批註時)

例如,這應在1.9.5根據MockitoSettings

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

的工作,雖然不似乎在窺探任何事情,它只是嘲笑它。

+0

我更喜歡你的答案 - 它提供了更多細節,調試器真的幫了我。 – smirnoff 2016-07-07 21:25:14